Вопросы по теме 'bit-shift'
Неожиданные результаты битового сдвига
Я инициализирую беззнаковое короткое целое с a = 0xff (все биты установлены). Затем я присваиваю b значению a>>7, что должно дать (0000 0001), и это так. Однако странно то, что когда я присваиваю c значению a‹‹7, это не эквивалентно (1000 0000). Я...
383 просмотров
schedule
24.04.2023
Сдвиг знакового бита в .NET
Я читаю биты из монохромного растрового изображения. Я сохраняю каждые 16 бит в short в обратном порядке. Если бит в растровом изображении черный, сохраните 1. Если белый, сохраните 0.
Например: для растрового изображения: bbbw bbbw bbbw wwww...
7957 просмотров
schedule
13.04.2022
Сдвиг вправо PHP и отрицательный результат?
Я столкнулся с проблемой при преобразовании некоторого кода C в PHP, особенно при использовании оператора сдвига вправо.
изменить: в следующих примерах бит = 0;
Оригинальный код C:
p->param->outBits[bytePtr++] |= codeword >> (9...
1666 просмотров
schedule
21.08.2022
Деление на произвольные числа с помощью операторов сдвига
Как можно разделить число n , например, на 24 , используя операторы сдвига и сложения?
( n % 24 == 0 )
1548 просмотров
schedule
30.05.2024
Эффективный способ манипулирования большими степенями двойки
Наиболее эффективный способ кодирования степеней двойки — сдвиг битов целых чисел.
1 << n дает мне 2^n
Однако, если у меня есть число, которое больше, чем наибольшее значение, разрешенное в int или long , что я могу использовать для...
993 просмотров
schedule
04.06.2022
Нечетный сдвиг битов приводит к C#
Учитывая, что у меня есть значение uint 2402914, и я хотел бы захватить крайние левые 17 бит, где ошибка в моей логике, выполнив этот код:
int testop = 0;
byte[] myArray = BitConverter.GetBytes(2402914);
fixed (byte* p = &myArray[0])
{...
470 просмотров
schedule
02.11.2022
Операция побитового сдвига .Net GetHashcode
Вчера я просматривал исходники .net и увидел несколько реализаций GetHashcode с чем-то вроде этого:
(i1 << 5) + i ^ i2
Я понимаю, что делает код и почему. Я хочу знать, почему они использовали (i1 ‹‹ 5) + i вместо (i1 ‹‹ 5) - i....
562 просмотров
schedule
16.07.2022
сдвиг битов против умножения в PHP
У меня есть следующий код:
<?php
$start = 1;
$timestart = microtime(1);
for ($i = 0; $i < 1000000; $i++) {
$result1 = $start * 4;
}
echo "\n";
echo microtime(1) - $timestart;
echo "\n";
$timestart = microtime(1);
for ($i = 0; $i <...
1322 просмотров
schedule
11.08.2022
C левый сдвиг на 64 бита не работает
У меня есть этот код на C (только для изучения):
char x;
uint64_t total = 0;
for(x = 20; x < 30; x++){
total = (((((1 << x) * x) / 64) + 1) * sizeof(uint64_t));
printf("%d - %llu\n", x, total);
}...
8280 просмотров
schedule
06.08.2022
Сдвиг влево Python (проблема со знаком)
В этом примере я получаю положительное число, но мне нужно выражение на Python, которое дает тот же результат, что и в Javascript.
Как можно получить этот отрицательный результат в Python?
Питон 2.7
mv = 1732584193 << 5...
481 просмотров
schedule
08.03.2023
Почему 3 758 096 384 ‹‹ 1 дает 768?
После прочтения отличного ответа на Руководство по смещению битов для начинающих? я протестировал претензия (так):
3,758,096,384 << 1
из консоли Chrome:
3,758,096,384 << 1
> 768
3,758,096,384 << 2
> 1536...
256 просмотров
schedule
29.11.2022
поведение undefined, когда левый операнд отрицательный
Несколько дней назад я сдал там онлайн-экзамен по Microsoft GD для стажировки. Я всегда изучал, что сдвиг влево отрицательного числа является неопределенным поведением, но в этой статье было почти 7 вопросов из 30, связанных с операторами сдвига, и...
1810 просмотров
schedule
12.04.2022
Преобразование уравнений в операции побитового сдвига
Есть ли какой-либо стандартный способ преобразования (любого) уравнения в операции побитового сдвига?
Под этим я подразумеваю преобразование любой вещи, которая не является + или -, в битовые сдвиги, поэтому конечное уравнение содержит только...
251 просмотров
schedule
10.12.2022
Преобразование из 8 бит в 1 байт
У меня есть строка из 8 бит, и я хочу преобразовать ее в 1 байт. Я не уверен, почему моя функция не работает должным образом. У меня есть 8 бит, хранящихся в массиве из 8 беззнаковых символов. Это мой метод до сих пор:
unsigned int...
12758 просмотров
schedule
13.05.2023
Расширенная константа сдвига знака в MIPS
Почему мы сдвигаем на 2 знаковую расширенную 16-битную константу в инструкции ветвления в MIPS? Я смущен этой идеей. Что хорошего это смещение дает расширенной знаковой 16-битной константе. Вот картинка:
С уважением
12117 просмотров
schedule
23.08.2023
PHP Проблема смещения левого бита на 32 бит
Я столкнулся с проблемой, когда мне нужно сделать ‹‹ на 32-битной машине, а число уже довольно большое. Если я перейду на это большое число, ответ будет неверным, как я могу это обойти?
Я почти уверен, что ноутбук работает под управлением...
1549 просмотров
schedule
04.02.2023
Побитовые операции и сдвиги
У меня проблемы с пониманием того, как и почему этот код работает именно так. Мой партнер по этому заданию закончил эту часть, и я не могу связаться с ним, чтобы узнать, как и почему это работает. Я пробовал несколько разных вещей, чтобы понять это,...
12813 просмотров
schedule
02.01.2024
Побайтовый вывод uint32_t
Я пытаюсь лучше понять побитовые операторы. У меня есть число типа uint32_t , которое я пытаюсь вывести побайтно. Код, который это делает:
void printByteWise(uint32_t num) {
printf("byte 1 = %u\n", (num & 0xFF000000));
printf("byte 2 =...
1990 просмотров
schedule
22.03.2023
Использование fwrite() с кодировками Хаффмана — битовый сдвиг и битовые манипуляции
Я делаю кодировку Хаффмана, и у меня возникают проблемы с пониманием того, как использовать fwrite() для записи наших кодировок в вывод.
Скажем, у меня есть эти кодировки:
Character A (65) gets an encoding of 101
Character B (66) gets an...
526 просмотров
schedule
17.09.2022
Как преобразовать int в byte, а затем использовать оператор битового сдвига
Почему следующее не работает? Я привожу целое число к байту, затем сдвигаю биты на 7. Я не вижу здесь никаких проблем.
Однако я получаю сообщение об ошибке "возможна потеря точности... требуется: байт; найдено: int"
pixels — массив байтов, c...
343 просмотров
schedule
03.02.2023