Вопросы по теме 'bit-shift'
Могу ли я предотвратить целочисленное переполнение в С#, используя сдвиг вправо без знака?
Я хочу, чтобы alwaysPositive было присвоено положительное число со всеми возможными значениями для lareValue1 и largeValue2 (это как минимум 1).
Следующий оператор вызывает переполнение буфера:
int alwaysPositive = (largeValue1 + largeValue2) /...
5226 просмотров
schedule
14.11.2022
Есть ли в C # оператор побитового сдвига, который перемещает биты переполнения на другой конец переменной?
Назовем это «‹************************************
int32variable <<< numberOfBits
равно
(int32variable << numberOfBits) | (int32variable >> (32 - numberOfBits))
(Предполагая, что ‹ > отбрасывает переполненные...
4248 просмотров
schedule
15.01.2022
В С++ какая разница между 1 и 1i64?
Я конвертирую какой-то 32-битный совместимый код в 64-битный и столкнулся с проблемой. Я компилирую проект VS2008 x64 и получаю это предупреждение:
warning C4334: '<<' : result of 32-bit shift implicitly converted to 64 bits
(was 64-bit...
9656 просмотров
schedule
05.07.2022
Битовый сдвиг в javascript
У меня действительно большое число: 5799218898. И я хочу сдвинуть его вправо до 13 бит. Итак, windows-calculator или python дает мне:
5799218898 >> 13 | 100010100100001110011111100001 >> 13
70791 | 10001010010000111
Как и ожидалось....
15870 просмотров
schedule
22.11.2022
Операторы сдвига в C ++
Если значение после оператора сдвига больше, чем количество бит в левом операнде, результат не определен. Если левый операнд беззнаковый, правый сдвиг является логическим сдвигом, поэтому старшие биты будут заполнены нулями. Если левый операнд...
17716 просмотров
schedule
08.04.2022
PHP-эквивалентный javascript ››› сдвиг вправо с нулевым заполнением побитовых операторов?
Могу ли я узнать, как я могу сделать PHP >>>? Такие операторы недоступны в PHP, но доступны в Javascript.
Мне просто удалось обнаружить следующую функцию:
function zeroFill($a, $b)
{
$z = hexdec(80000000);
if ($z & $a)...
5376 просмотров
schedule
26.01.2023
Странности битового сдвига и указателя в C, ищем объяснения
Я обнаружил что-то странное, что не могу объяснить. Если кто-то здесь может видеть, что и почему это происходит, я хотел бы знать. Что я делаю, так это беру беззнаковое короткое замыкание, содержащее 12 бит, выровненное по высокому уровню, например:...
3038 просмотров
schedule
07.06.2022
Счетчик смен отрицательный или слишком большая ошибка - правильное решение?
У меня есть следующая функция для чтения четверного слова с прямым порядком байтов (в абстрактном классе ввода-вывода базового файла):
unsigned long long File::readBigEndQuadWord(){
unsigned long long qT = 0;
qT |= readb() << 56;
qT |=...
13598 просмотров
schedule
13.12.2022
Есть ли веские причины использовать сдвиг битов, кроме быстрой математики?
Я понимаю побитовые операции и то, как они могут быть полезны для разных целей, например. разрешения. Однако я, кажется, не понимаю, для чего используются операторы сдвига битов. Я понимаю, как они работают, но я не могу придумать ни одного...
5079 просмотров
schedule
16.08.2023
Поведение беззнакового сдвига вправо, примененного к байтовой переменной
Рассмотрим следующий фрагмент кода Java
byte b=(byte) 0xf1;
byte c=(byte)(b>>4);
byte d=(byte) (b>>>4);
вывод:
c=0xff
d=0xff
ожидаемый результат:
c=0x0f
как? как b в двоичном формате 1111 0001 после...
10596 просмотров
schedule
28.03.2023
Извлечение данных из потока двоичных данных в nsdata
В данный момент я новичок в target c и пытаюсь декодировать поток данных, который я получаю как объект NSdata.
данные имеют длину 8 байтов, например:
1 2 3 4
0 1 2 3 4 5 6 7 0 1 2 3 4 5...
1705 просмотров
schedule
24.06.2022
Когда уместны побитовые операции
Я знаю основную предпосылку того, что такое побитовая операция (хотя был бы признателен за объяснение «для чайников»); однако я не знаю, когда уместно использовать эту технику.
Насколько я понимаю, старые архитектуры ЦП могли выполнять побитовые...
2434 просмотров
schedule
28.03.2023
Что делает побитовый сдвиг (влево или вправо) и для чего он используется?
Я видел операторы >> и << в различном коде, на который я смотрел (ни один из которых я на самом деле не понял), но мне просто интересно, что они на самом деле делают и каково их практическое использование.
Если сдвиги похожи на x *...
126402 просмотров
schedule
15.01.2022
Побитовая операция Java И несколько логических значений
это моя проблема. У меня есть три логических значения, которые я могу иметь. У меня может быть несколько комбинаций с тремя вариантами:
т.е. нет вариантов (все неверно) вариант 1 только вариант 1 и вариант 2 вариант 1 и вариант 2 и вариант 3...
1490 просмотров
schedule
01.06.2022
другой результат о побитовом операторе в C
чтобы реализовать логический сдвиг вправо в c, я искал в Интернете и получил следующий код C
int a, b, c;
int x = -100;
a = (unsigned) x >> 2;
b = (0xffffffff & x) >> 2;
c = (0x0 | x ) >> 2;
теперь и a, и b были...
344 просмотров
schedule
13.06.2023
Python Bitshift 32-битное ограничение
Возможный дубликат: проблема при вычислении контрольной суммы: приведение int к signed int32
Это должен быть относительно простой ответ, я просто не знаю, как его искать... У меня есть несколько полурелевантных вещи , но ничего, что...
2843 просмотров
schedule
26.02.2024
Сдвиг битов, сохранение 3 u_int8_t в одном целом и повторное считывание
у меня есть вопрос к вам, ребята, который уже 2 дня сводит меня с ума. Может быть, это потому, что мне не хватает основ битового сдвига, но почему-то я не понимаю этого. Мне нужна простая программа, которая считывает 3 символа или uint8_t, сохраняет...
904 просмотров
schedule
23.10.2022
Стандарт C для отрицательного нуля (дополнение до 1 и величина со знаком)
Все эти функции дают ожидаемый результат на моей машине. Они все работают на других платформах?
В частности, если x имеет битовое представление 0xffffffff на машинах с дополнением до 1 или 0x80000000 на машинах со знаком, что говорит стандарт о...
1792 просмотров
schedule
01.04.2022
Битовый массив символов
Если я хочу сдвинуть целое число 5 на 3, то есть int a = 5; int b = a << 3; , результатом будет 40 в десятичном виде, поскольку 5 равно 101 , а 40 равно 101000 .
Что если, однако, у меня есть следующий массив char : 00000 00101...
4610 просмотров
schedule
24.06.2022
Ошибка компилятора сдвига битов или угловой случай?
Следующий код выводит 0,1,32,33. Что, мягко говоря, противоречит здравому смыслу. Но если я заменю литерал 1 аннонированной константой типа «ONE», цикл будет работать нормально.
Это с gcc 4.6.2 и -std=c++0x.
#include<iostream>...
846 просмотров
schedule
01.11.2022