- XOR (^)
Правило Операция: \ (. 1,0 \ RightArrow 1 \) может быть свободно понимать как не носить сумматор
XOR свойства: \ (A \) ^ \ (А = 0 \)
\ (A \) ^ \ (0 = A \)
Пример : Есть несколько двадцать-два, за исключением того, что одна болтовня, не открывают дополнительное пространство, найти номер.
Идея : пусть в массиве всех число исключающих или операций , конечный результат является одно числом.
- И (&)
Правило Операция: \ (1, 1 \ rightarrow1 \)
Пример ① : ищет число двоичных 1
Идеи :
1. Число и операция должна >> 1, +1 будет справедливо для числа.
2 было проведено с числом -1 числа операции (начиная с нижней задней -1 до 1 между первым всего от 0 до 1, то первое от 1 до 0, так что начальное число и это может быть первым 0), пока это число не равно 0, подсчитать число.
Пример ② : чтобы определить , является ли число является степенью двух.
Идея : пусть это будет целое число 2, то это число является только двоичным 1. ① может быть использовано с примером 2 идеичтобы решить, так что число и значение -1как только операциичтобы определитьявляется ли это 0.
- Бинарный обмен четности
Идеи : Номер каждого и \ (0xAAAAAA \) (1010 ... 1010 1010 удалены даже немного ) \ (0x555555 \) (0101 ... 0101 0101 с нечетными битами ) для И (&) операции. Тогда даже немного зарезервирован правильные один, зарезервированный нечетные биты оставили одну, то операция XOR (^) операции.
- число с плавающей точкой составляет от 0-1 (х 2, переместить целое)
Метод : целое число \ (* 2 \) , взятые целыми биты (слева направо расположение), то \ (* 2 \) , вплоть до \ (0 \) .
Например: \ (0.625) \
- \ (0,625 * 1,25 = 2 \) , удалить \ (\ 1) , затем двоичное число \ (\ 0.1) , число становится \ \ (0.25)
- \ (2 * 0,25 = 0,5 \) , взятые 0, двоичное число будет \ \ (0.10) , число становится \ (0.5 \)
- \ (0,5 * 2 = 1 \) , вынимают, и металл становится \ (\ 0,101) , число становится \ (0 \) , конец цикла
- Там будут появляется число \ (к \) раз, число появляется \ (1 \) штук, и появился \ (1 \) число раз
Советы : \ (K \) \ (K \) двоичное число в двоично не добавление результат операции 0
Методы: С Советами Так что этот вопрос должны быть думать ясно, прежде всего, поставить все цифровое преобразование \ (к \) десятичные друзья, а затем положить каждое число соответствует сумме, а \ (к \ ) , чтобы взять на себя, а затем положить вместе ответ пряный!