Результаты поиска по запросу "bit-manipulation"
Код без ответвлений, который отображает ноль, минус и позитив на 0, 1, 2
Напишите функцию без ответвлений, которая возвращает 0, 1 или 2, если разница между двумя целыми числами со знаком равна нулю, отрицательному или положительному значению. Вот версия с ветвлением: int Compare(int x, int y) { int diff = x - y; if ...
Два дополнения в Python
Есть ли в Python встроенная функция, которая преобразует двоичную строку, например '111111111111', вдва дополнения целое число [http://en.wikipedia.org/wiki/Two%27s_complement]-1?
Поворот растрового изображения на 90 градусов
у меня естьодно 64-разрядное целое число, который мне нужно повернуть на 90 градусов в области 8 х 8 (желательно с прямой битовой манипуляцией). Я не могу понять какой-либо удобный алгоритм для этого. Например, это: // 0xD000000000000000 ...
Найти мин / макс с плавающей / двойной, который имеет такое же внутреннее представление
Обновление наплавающие точки [http://docs.sun.com/source/806-3568/ncg_goldberg.html](такжеPDF [http://www.validlab.com/goldberg/paper.pdf]), IEEE-754 и участиев этом обсуждении округления с плавающей запятой при преобразовании в ...
Как мне немного перевернуть в SQL Server?
Я пытаюсь выполнить побитовое НЕ в SQL Server. Я хотел бы сделать что-то вроде этого: update foo set Sync = NOT @IsNewПримечание: я начал писать это и узнал ответ на свой вопрос, прежде чем закончил. Я все еще хотел поделиться с сообществом, ...
Битовая операция и использование
Рассмотрим этот код: x = 1 # 0001 x << 2 # Shift left 2 bits: 0100 # Result: 4 x | 2 # Bitwise OR: 0011 # Result: 3 x & 1 # Bitwise AND: 0001 # Result: 1Я могу понять арифметические операторы в Python (и других языках), но я никогда не ...
Почему «010» равен 8?
Мой простой вопрос: почему: System.out.println(010|4);печатает "12"? Я понимаю побитовый оператор ИЛИ, но почему "010" равен 8? Это определенно не комплимент 2 уведомления, так как расшифровать этот номер?
Какой самый быстрый способ делить целое число на 3?
int x = n / 3; // <-- make this faster // for instance int a = n * 3; // <-- normal integer multiplication int b = (n << 1) + n; // <-- potentially faster multiplication
Вычисление паритета
Я не совсем понимаю этот алгоритм вычисления бита четности. Может кто-нибудь объяснить, пожалуйста, подробно? Следующий код взят из книги «Хакерское наслаждение»: int parity(unsigned x) { unsigned y; y = x ^ (x >> 1); y = y ^ (y >> 2); y = y ...
Является ли сдвиг Java круговым?
У меня такое поведение с помощью Java: