Articles of бит

Вычисление максимального размера знакового целого числа

Я хотел знать, какое максимальное значение может иметь мое time_t , поэтому я написал небольшую программу, помогающую мне. Ему нужен один аргумент: количество байтов (1 байт = 8 бит). Поэтому я написал его и протестировал. Он отлично подходит для всех значений от 1 до 4, но в 5 и выше он также редактирует «подписанный» -бит […]

Преобразование между форматами с различным количеством битов для экспоненциальной и дробной части

Я пытаюсь обновить поплавки. Я читаю упражнение, которое просит преобразовать из формата A, имеющего: k = 3, 4 бит и Bias = 3, в формат B, имеющий k = 4, 3 бит и Bias 7. Мы должны округлить, когда это необходимо. Пример между форматами: 011 0000 (Value = 1) =====> 0111 000 (Value = 1) […]

Перемещение бит x * число

Как вы получаете число, подобное -10 из этих проблем с битрейтом? Из того, что я понимаю, X*32 может быть записано как x<<5 . Но как получить цифры типа x*66 или X*(-10) ?

Количество бит в базовом типе данных

Вот несколько мыслей. Я изучаю, что могут быть ошибки и даже недостающие некоторые основы. Оператор sizeof возвращает количество байтов. number of bits in byte не является постоянным значением (исправьте меня, но это число бит char имеет). Я хочу знать, сколько бит занимает переменная, и sizeof не скажет мне, что без предположений о количестве бит в […]

Как читать определенные биты unsigned int

У меня есть uint8_t, и мне нужно читать / записывать определенные биты. Как бы я это сделал. В частности, я имею в виду, что мне нужно писать, а затем читать первые 7 бит для одного значения и последний бит для другого значения. edit: забыли указать, я буду устанавливать их как большой endian

Вход IP-адреса в C

Я хочу написать программу на C, которая принимает входной IP-адрес от пользователя, а затем я хочу выполнить некоторые бит операции над ним. Как я могу принимать входные данные в битах на C. Я пробовал приведенный ниже код, но целое число имеет размер 2 байта, что делает полный адрес здесь 8 байтов (64 бит). При использовании […]

умножение битового сдвига в c, не используя полномочия 2

Как я могу выполнить умножение на 36, используя бит-сдвиг? Разве можно не только умножить на степени 2? Например: unsigned x = 4; // binary 00000000 00000000 00000000 00001000 unsigned y = x << 3; // multiply by 8, resulting in binary 00000000 … 00100000 Спасибо!

Бит-подсчет в C, похожий на взломанный бит

Мне нужно создать счетчик, который не включает циклы (только бит-операции) и не использует большие константы int x = 0xFFFFFFFF; x += (~((x >> 1) & 0x55555555)+1); x = (((x >> 2) & 0x33333333) + (x & 0x33333333)); x = (((x >> 4) + x) & 0x0F0F0F0F); x += (x >> 8); x += (x >> […]

64-битная маска NS_OPTIONS

контекст Я использую макрос NS_OPTIONS для создания битовой маски. Я назначил ему тип NSInteger и поскольку я строю на 64-битной платформе, это должно дать мне в общей сложности 63 «слота» для работы (с 64 бит меньше одного бита для подписывания). Вот перечисление: typedef NS_OPTIONS(NSInteger, LPSVGOPlugin) { LPSVGOPluginNone = 0, LPSVGOPluginCleanupAttrs = 1 << 0, LPSVGOPluginRemoveDoctype […]

Проверка четных или нечетных бит «1» в количестве

Я хочу проверить, имеет ли номер все четные или нечетные биты, установленные для одного и только для них. Например: Номер 42 является правильным, потому что в двоичном коде 101010 он имеет все и только четные биты в 1 . Номер 21 также правильный, 10101 . Номер 69 например. 1000101 неверно, потому что есть только три […]

Intereting Posts
Можно ли использовать строки в качестве индекса массива? «EXC_BAD_ACCESS: невозможно восстановить ранее выбранный фрейм» Ошибка, размер массива? GTK + gcc: неопределенная ссылка на все функции gtk при связывании Использование select () для неблокирующих сокетов Как преобразовать изображение в base64 в C? Непоследовательное поведение неявного преобразования между неподписанными и большими подписанными типами Как вы загружаете / сохраняете из / в массив удвоений с помощью векторных расширений GNU C? Разделить содержимое массива без знака на две половинки Почему мой обратный вызов hrtimer возвращается слишком рано после его пересылки? Чтение c файла строки за строкой с помощью fgetc () Проверьте, присутствуют ли все значения char в строке Как получить имя функции из адреса функции, используя регистр ссылок (например, backtrace_symbol) в linux Что такое «DNS_BLOCK_ASSERTIONS» (флаг компилятора C)? В чем причина двойного отрицания – (- n)? Бесконечная recursion в C