Вопросы по теме 'bit-shift'
Я не понимаю следующую строку кода C
Я нашел следующую тему: Рассчитать широковещательный адрес по IP-адресу и подсети mask и там ссылка на http://lpccomp.bc.ca/netmask/netmask.c
Не мог бы кто-нибудь объяснить следующую строку, я не понимаю:
for ( maskbits=32 ; (mask &...
1239 просмотров
schedule
01.12.2021
Значение ‹< = и | =
Что означают <<= и |= в C?
Я понимаю, что << - это битовый сдвиг и т. Д., Но я не знаю, что это за комбинация.
34933 просмотров
schedule
12.11.2021
Странный результат после присвоения 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 просмотров
schedule
17.09.2021
проверить делимость двоичного числа на 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 просмотров
schedule
01.11.2021
Сдвиг на 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 просмотров
schedule
31.10.2021
Преобразование 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 просмотров
schedule
14.10.2021
Алгоритм шифрования / дешифрования C - установить битовую позицию 2 на две битовые позиции слева от текущей битовой позиции
Мне дан большой набор инструкций для алгоритма в отношении того, какие функции могут быть выполнены и тому подобное, но я очень смущен тем, как выполнять (1) и (2) из 1. b), который просит меня установить позицию 2 слева от текущей позиции на...
180 просмотров
schedule
27.11.2021
Определен ли ›› ((размер 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