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

Битовые операторы для добавления двух беззнаковых символов в С++
Если у меня есть две вещи, которые являются шестнадцатеричными, могу ли я кто-нибудь добавить их двоичные файлы вместе, чтобы получить значение? В С++, скажем, у меня есть unsigned char t = 0xc2; // 11000010 unsigned char q = 0xa3; //...
4328 просмотров
schedule 06.10.2022

Битовый сдвиг влево
Допустим, я хочу дважды сдвинуть бит i влево и сохранить значение в f . f = i << 2; Это правильно? Как именно это сделать в C/C++?
15672 просмотров
schedule 12.11.2023

Как разобрать битовые поля из массива байтов в Java?
Мне была поставлена ​​трудная задача по анализу некоторых входящих UDP-пакетов из источника в соответствующее представление Java. Кикер — это данные, содержащиеся в пакетах, не выровненные по байтам. Чтобы сделать протокол как можно более плотным,...
3813 просмотров
schedule 24.12.2022

Эффективный битовый сдвиг массива int?
Чтобы оказаться на одной странице, предположим, что sizeof(int)=4 и sizeof(long)=8. Учитывая массив целых чисел, какой был бы эффективный метод логического битового сдвига массива влево или вправо? Я рассматриваю вспомогательную переменную,...
9798 просмотров
schedule 05.08.2023

Должен ли я смещать биты, чтобы разделить на 2 в Java?
Возможные дубликаты: Сдвиг битов быстрее, чем умножение и деление в Java? .NET? Быстрый вопрос по оптимизации Java Много лет назад в колледже я узнал, что сдвиг битов вправо на единицу выполняет то же самое, что и деление на два, но...
33313 просмотров

Битовые сдвиги в С++
Я не понимаю, почему это дает мне тот же ответ: long long a = 3265917058 >> 24; std::cout << a << std::endl; //194 long long ip = 3265917058; long long b = ip >> 24; std::cout << b << std::endl; //194...
342 просмотров
schedule 24.07.2022

Неожиданный результат битового сдвига С# вправо
Я недооценил сложность оператора >> ; это не делает то, что я думал. Я хочу сдвинуть вправо значение uint 6542454. Я думал, что это работает так: val (is) == 11000111101010001110110 val >> 1 == 1100011110101000111011 val...
583 просмотров
schedule 02.04.2023

Действительно ли умножение и деление с использованием операторов сдвига в C быстрее?
Умножение и деление могут быть достигнуты с помощью битовых операторов, например i*2 = i<<1 i*3 = (i<<1) + i; i*10 = (i<<3) + (i<<1) и так далее. Действительно ли быстрее использовать, скажем,...
111599 просмотров
schedule 28.03.2024

Цель c: бинарные операции с целыми числами?
У меня BASIC логический вопрос о следующем фрагменте кода: 1 uint64_t RMTileKey(RMTile tile) 2 { 3 uint64_t zoom = (uint64_t) tile.zoom & 0xFFLL; // 8bits, 256 levels 4 uint64_t x = (uint64_t) tile.x &...
1232 просмотров
schedule 07.04.2023

Расширение знака для литерала и переменной
Я работаю с gcc 4.4.5, и у меня есть некоторые трудности с пониманием оператора сдвига вправо для простых простых значений без знака... Этот тест ASSERT_EQ( 0u, (unsigned long)(0xffffffff) >> (4*8) ); проходит. Этот тест...
285 просмотров
schedule 17.05.2024

Оператор сдвига Java
Рассмотрим следующий код Java: byte a = -64; System.out.println(a << 1); Вывод этого кода -128 Я попытался выяснить, почему это вывод: 64 = 0 1000000 (старший бит — знаковый бит) -64= 1 1000000 (формат дополнения Tow)...
6467 просмотров
schedule 16.12.2022

Сдвинуто на отрицательное число в java
У меня проблема с оператором сдвига в Java. Я использовал следующий код и не могу понять, как эта программа генерирует этот вывод. Пожалуйста, объясните мне, как эта программа генерирует этот вывод. public class Operator { public static void...
7559 просмотров
schedule 11.06.2022

Операторы Javascript ‹‹ и ››
Возможный дубликат: Что делают эти операторы? Что это за выражение в Java ( 1 ‹‹ 2) ? Что делают операторы >> и ‹‹ в JavaScript? Я никогда не видел их раньше и ломаю голову, пытаясь понять их. Любая помощь приветствуется: D
131 просмотров
schedule 04.11.2023

Создан беззнаковый int на основе 8 шестнадцатеричных байтов
Я пытаюсь распечатать unsigned int в виде шестнадцатеричного числа, а не просто использовать %08X . Мне нужно сначала напечатать шестнадцатеричный код MSB и LSB для каждого байта с помощью MSB. Я получил это: unsigned int num = 1234567890;...
321 просмотров
schedule 04.06.2024

Смущает неопределенное поведение оператора сдвига C ++ и обертка пространства шаблона
Меня смущает то, что я прочитал в разделе «Операторы сдвига» в статья о неопределенном поведении C ++ . В архитектуре ARM операторы сдвига всегда ведут себя так, как если бы они выполнялись в 256-битном пространстве шаблона, независимо от...
1047 просмотров
schedule 29.03.2022

Есть ли более эффективный способ расширения char до uint64_t?
Я хочу раздуть unsigned char до uint64_t , повторив каждый бит 8 раз. Например. char -> uint64_t 0x00 -> 0x00 0x01 -> 0xFF 0x02 -> 0xFF00 0x03 -> 0xFFFF 0xAA -> 0xFF00FF00FF00FF00 В настоящее время у меня есть следующая...
834 просмотров
schedule 10.12.2022

Оператор сдвига влево в C
Рассмотреть возможность: #include <stdio.h> #define macro(a) a=a<<4; main() { int a = 0x59; printf("%x", a); printf("\n"); macro(a) printf("%x", a); } Для приведенного выше кода я получаю следующий вывод:...
43103 просмотров
schedule 05.01.2023

Естественно выровненный адрес памяти
Мне нужно извлечь адрес памяти из существующего 64-битного значения, и этот адрес указывает на массив 4K, начальное значение: 0x000000030c486000 Нужный мне адрес хранится в битах 51:12, поэтому я извлекаю эти биты, используя: address =...
4625 просмотров
schedule 04.02.2023

Битовый сдвиг в BCD
Я сдвигаю биты числа BCD влево или вправо, чтобы быстро умножить или разделить на 2. Вот быстрый пример сдвига влево: void LShift(unsigned char *arg) { int i, carry=0, temp; for(i=2;i>=0;i--) { temp=(arg[i]<<1)+carry;...
1088 просмотров
schedule 17.03.2024

Являются ли побитовые операторы быстрее, чем оператор + и -
См. ссылку . Предполагается, что самый быстрый способ вычислить абсолютное значение числа — использовать (относительно сложный) побитовый оператор. Я знаю, что побитовые операторы быстрее, чем деление и умножение. Но они даже быстрее, чем...
2531 просмотров
schedule 19.03.2023