Вопросы по теме '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 просмотров

Побитовая операция Java И несколько логических значений
это моя проблема. У меня есть три логических значения, которые я могу иметь. У меня может быть несколько комбинаций с тремя вариантами: т.е. нет вариантов (все неверно) вариант 1 только вариант 1 и вариант 2 вариант 1 и вариант 2 и вариант 3...
1490 просмотров

другой результат о побитовом операторе в 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 просмотров

Сдвиг битов, сохранение 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