Результаты поиска по запросу "bit-manipulation"

8 ответов

Определите, какой бит установлен в байте

у меня естьbyte Я использую для битовых флагов. я знаю этоодин и только один немного вbyte устанавливается в любое время. Пример:unsigned char b = 0x20; //(00100000) 6th most bit set В настоящее время я использую следующий цикл, чтобы ...

4 ответа

Как я могу отразить байт в Delphi?

Существует ли простой способ отразить битовую переменную байта в Delphi, чтобы старший бит (MSB) получал младший бит (LSB) и наоборот?

5 ответов

Извлечение битов с одним умножением

Я видел интересную технику, используемую вответ [https://stackoverflow.com/a/14539116/367273]вДругой вопрос [https://stackoverflow.com/questions/14537831/isolate-specific-row-column-diagonal-from-a-64-bit-number] и хотел бы понять это немного ...

ТОП публикаций

6 ответов

Как работает выравнивание по размеру

Я не могу понять приведенный ниже код относительно предоставленного комментария. Что делает этот код, и что будет эквивалентным кодом для8-aligned? /* segment size must be 4-aligned */ attr->options.ssize &= ~3;Вот,ssize имеетunsigned int тип.

6 ответов

Что делает AND 0xFF?

В следующем коде: short = ((byte2 << 8) | (byte1 & 0xFF))Какова цель&0xFF? Потому что в других случаях я вижу это написано как: short = ((byte2 << 8) | byte1)И это, кажется, тоже работает нормально?

3 ответа

Подсчитать количество бит в целом числе без знака

Я хочу написать функцию с именемbitCount() в файле:bitcount.c это возвращает число битов в двоичном представлении его целочисленного аргумента без знака. Вот что у меня так далеко: #include <stdio.h> int bitCount (unsigned int n); int main () { ...

2 ответа

Почему нам нужно добавить 1 при выполнении дополнения 2

Дополнение числа 2, которое представлено N битами, является 2 ^ N-числом. Например: если число равно 7 (0111), и я представляю его, используя 4 бита, то его дополнение к 2 будет (2 ^ N-число), т.е. (2 ^ 4 -7) = 9 (1001) 7==> 0111 1's compliment ...

7 ответов

Является ли битовое поле более эффективным (в вычислительном отношении), чем маскирование битов и извлечение данных вручную?

У меня есть множество маленьких кусочков данных, которые я хочу использовать в одном большом типе данных. Допустим, что гипотетически это дата и время. Очевидный метод - через битовое поле, подобное этому. struct dt { unsigned long minute :6; ...

1 ответ

Как сдвинуть> = 32 бита в uint64_t?

Следующий код запускаетgcc предупреждение (gcc 4.2.1): #include <boost/cstdint.hpp> boost::uint64_t x = 1 << 32; // warning: left shift count >= width of typeРазве это не должно быть хорошо, так как тип имеет 64 бита?

2 ответа

Умножьте два переполненных целых числа по модулю третьего

Учитывая три целых числа,a, bа такжеc с участиемa,b <= c < INT_MAX Мне нужно вычислить(a * b) % c ноa * b может переполниться, если значения слишком велики, что дает неправильный результат. Есть ли способ вычислить это напрямую с помощью ...