Вопросы по теме 'bit-shift'

Я не понимаю следующую строку кода C
Я нашел следующую тему: Рассчитать широковещательный адрес по IP-адресу и подсети mask и там ссылка на http://lpccomp.bc.ca/netmask/netmask.c Не мог бы кто-нибудь объяснить следующую строку, я не понимаю: for ( maskbits=32 ; (mask &...
1239 просмотров

Значение ‹< = и | =
Что означают <<= и |= в C? Я понимаю, что << - это битовый сдвиг и т. Д., Но я не знаю, что это за комбинация.
34933 просмотров

Странный результат после присвоения 2 ^ 31 32-разрядной целочисленной переменной со знаком и без знака
Как следует из заголовка вопроса, присвоение 2 ^ 31 32-разрядной целочисленной переменной со знаком и без знака дает неожиданный результат. Вот короткая программа (на C++ ), которую я написал, чтобы увидеть, что происходит: #include...
6459 просмотров
schedule 07.10.2021

Обращение 16-битного слова с использованием LC-3
Я работаю над назначением, при котором я буду вводить двоичные данные и сохранять обратную сторону по другому адресу. Я работаю с 4-битным словом, пока не смогу понять логику, а затем смогу расширить ее до 16-битного слова, когда все заработает....
3052 просмотров
schedule 21.11.2021

Возведение в степень с помощью циклического сдвига
В другой теме, посвященной SO, упоминается статья Брикелла и др. « Быстрое возведение в степень с предварительным вычислением ». ., в котором, наряду с простой концепцией предварительного вычисления степеней, соответствующих двоичным цифрам, было...
465 просмотров

проверить делимость двоичного числа на 13
как проверить, делится ли двоичное число 13, если пользователь вводит цифры от наиболее значимого до наименее значимого? количество битов может быть очень большим, поэтому нет смысла преобразовывать его в десятичное, а затем проверять его...
456 просмотров
schedule 30.09.2021

Моя ротация битов в MIPS не работает должным образом
Я пытаюсь решить проблему, но сначала тестирую rol инструкцию и совершенно уверен, что делаю что-то очень глупое, что делает мой тест некорректным. Вот отрывок: li $t0, 101 ## our data li $t1, 32 ## our loop because we will rotate 32...
2509 просмотров
schedule 25.11.2021

Какое значение имеют эти # определения?
Я перебирал лучшее решение проблемы MAXCOUNT и нашел несколько строк, которые я не понял. Проблема Codechef и Лучшее решение отправлено Пока я читал код, чтобы наблюдать за подходом, я обнаружил эти строки в верхней части кода: #define...
243 просмотров
schedule 10.10.2021

построение ключа путем побитового сдвига 3 целых чисел в C
Я хочу создать ключ, состоящий из 3 значений, используя операции сдвига бит: Насколько я понимаю, код оператора C, с которого я начинаю, создает хеш-таблицу, создавая свои ключи из определенных переменных данных: uint64_t key =...
142 просмотров
schedule 30.10.2021

Почему 0x7FFFFFFFull | (1 ‹---------------- 31) возвращение 0xFFFFFFFFFFFFFFFF в C ++?
Когда я делаю (0x7fffffff | 0x8000000), я получаю 0xffffffffffffffff вместо ожидаемого 0xffffffff. Что мне не хватает? Некоторые примеры кода и вывода, чтобы проиллюстрировать мой вопрос. Код: #include <iostream> using namespace...
517 просмотров

Сдвиг на N бит всего массива символов
Скажем, у меня есть массив символов, и я хочу сдвинуть N бит влево на каждый байт, перенося влево, поэтому будут потеряны только N бит первого символа. Пример: kxmo смещенный на 3 бита влево должен стать X@hx Это то, что у меня есть в...
453 просмотров
schedule 23.10.2021

Как работает сдвиг битов в этом примере?
Я просматривал go учебник на golang.org и наткнулся на пример, который частично понимаю ... MaxInt uint64 = 1<<64 - 1 Теперь я понимаю, что это сдвиг бит на 64 позиции влево, что сделает его 1, за которым следуют 64 0. Мой...
195 просмотров
schedule 02.10.2021

Отличается ли оценка компилятора Go для константного выражения и другого выражения
Почему приведенный ниже код не компилируется? package main import ( "fmt" "unsafe" ) var x int = 1 const ( ONE int = 1 MIN_INT int = ONE << (unsafe.Sizeof(x)*8 - 1) ) func main() { fmt.Println(MIN_INT) } Я...
832 просмотров

Преобразование int в значение HEX массива uint8_t
Я хотел бы взять int и преобразовать его в массив шестнадцатеричных чисел uint8_t? После преобразования длина int составляет не более 8 байтов в HEX. Я смог использовать метод, который преобразует int (19604) в массив uint8_t следующим образом:...
3300 просмотров
schedule 21.09.2021

Неожиданное значение после смещения BigInteger влево
У меня есть строка, которую я конвертирую в BigInteger, анализируя, затем сдвигая ее на 3 бита влево и снова конвертирую в строку. Проблема в том, что он всегда выводит дополнительные биты перед фактическим значением. Например: Private Sub...
72 просмотров
schedule 18.11.2021

Как оператор сдвига работает с отрицательными числами в c ++
int main() { int x = -2; cout << (1<<x) << endl; cout << (1<<-2) << endl; } Здесь (1<<x) печатает 1073741824 (как это рассчитывается) В то время как (1<<-2) печатает значение...
161 просмотров
schedule 05.10.2021

Почему имеет значение, используются ли сдвиги влево и вправо вместе в одном выражении или нет?
У меня такой код: unsigned char x = 255; printf("%x\n", x); // ff unsigned char tmp = x << 7; unsigned char y = tmp >> 7; printf("%x\n", y); // 1 unsigned char z = (x << 7) >> 7; printf("%x\n", z); // ff Я ожидал,...
1192 просмотров

Алгоритм шифрования / дешифрования C - установить битовую позицию 2 на две битовые позиции слева от текущей битовой позиции
Мне дан большой набор инструкций для алгоритма в отношении того, какие функции могут быть выполнены и тому подобное, но я очень смущен тем, как выполнять (1) и (2) из ​​1. b), который просит меня установить позицию 2 слева от текущей позиции на...
180 просмотров

Определен ли ›› ((размер a) * CHAR_BIT), UB или IDB?
1. Учтите следующее: unsigned int a, b; b = a >> ((sizeof a) * CHAR_BIT); /* or 2nd operand greater than ((sizeof a) * CHAR_BIT) */ Это определенное, неопределенное поведение или поведение, зависящее от реализации? 2. Еще один...
262 просмотров
schedule 01.03.2022

Как компилятор узнает, какой будет порядок байтов?
Я подумал об использовании тестов во время выполнения для определения порядка байтов, чтобы быть уверенным в поведении сдвигов, и заметил несколько своеобразную оптимизацию моего компилятора. Это предполагает, что порядок байтов машины, на которой он...
389 просмотров
schedule 01.03.2022