Битовые сдвиги на указателе C?

Я нахожусь в середине этого проекта C, который я хочу сделать очень эффективным для памяти. В некоторых случаях я использую void * из динамической структуры массива, которую я написал для хранения битов. Я хочу использовать все 64 (в данном случае) …

Арифметический сдвиг вправо примеры в моем учебнике сдвиг в единицах, когда MSB был равен нулю

В настоящее время я изучаю сборку, а вместе с ней и работу побитовых операций среди них. В частности, меня беспокоит арифметический сдвиг вправо. Теперь в книге, которую я читаю, есть несколько практических задач, среди которых мне нужно выполнить …

Учитывая два 32-разрядных числа, N и M, и две разрядные позиции, i и j. напишите метод, чтобы установить все биты между i и j в N равными M

Вам даны два 32-разрядных числа, N и M, и две разрядные позиции, i и j. напишите метод, чтобы установить все биты между i и j в N равными M (например, M становится подстрокой N, расположенной в i и начинающейся в j). Пример: вход: N = 100000000 …

Когда следует использовать побитовый оператор?

Я прочитал следующие вопросы переполнения стека, и я понимаю различия между побитовым и логическим. разница между & и && в PHP ссылка-Что означает этот символ в PHP? Однако ни один из них не объясняет, когда я должен использовать побит …

Неожиданный вывод при побитовой операции правого сдвига

int main() { int x = 0xff0000ff; int N_BITS = sizeof (int) * 8; /* 32 */ int l = 0x0; printf ("Right shift expected result: %xn", 0x80000000 >> (31)); l = (x & (0x00000001 << (N_BITS - 1))); printf ("l = %x …

Не (~) против отрицания(!)

#include <iostream> using namespace std; int main(int argc, char *argv[]) { int i=-5; while(~(i)) { cout<<i; ++i; } } Выход -5,-4,-3, -2. Разве он не должен выводить значения до -1?Почему только до -2. И пожа …

Оператор дополнения Python in-place

Python имеет обычный побитовые операторы, как ~, &, |, и т. д. и операторы на месте любят +=, &=, и т.д. чтобы упростить выражения типа: a = a & 34234 a = a + 577 Кому: a &= 34234 a += 577 Несмотря на то, что оператор дополнен …

Есть ли более эффективный способ получить длину 32-битного целого числа в байтах?

Я хотел бы получить ярлык для следующей маленькой функции, где производительность очень важна (функция вызывается более 10.000.000 раз): inline int len(uint32 val) { if(val <= 0x000000ff) return 1; if(val <= 0x0000ffff) return 2; …

Странное поведение оператора Python.исключающее или

Я работаю над головоломкой шифрования и мне нужно взять исключительное или из двух двоичных чисел (я использую пакет operator в Python). Если я запускаю operator.xor(1001111, 1100001), Например, я получаю очень странный вывод 2068086. Почему он не …

Почему смещение больше, чем допустимые биты, все еще работает?

У меня есть int8_t, и я хотел посмотреть, что произойдет, если я сдвину его влево дальше, чем на 8 бит. Вот что я сделал: int8_t x = 1; std::cout << (x << 10); По какой-то причине это возвращает 1024, как если бы тип содержал достато …