Запутался с BITWISE, я использую MySQL - PullRequest
1 голос
/ 07 января 2011

Я думаю, что мне нужно использовать Bitwise с MySQL.

Однако я запутался с

SELECT 29 | 15;

возвращает

 31

http://dev.mysql.com/doc/refman/5.0/en/bit-functions.html

Я читал то, что я могу понять, поразрядно, но я потерян.

Ответы [ 2 ]

6 голосов
/ 07 января 2011

Ну, в 29 установлены биты 16, 8, 4 и 1.

В 15 установлены биты 8, 4, 2 и 1.

«x Or y» (|) означает: «установить все биты, которые установлены в x или y или обоих».

Итак, в 29 | 15, биты 16, 8, 4, 2 и 1 установлены.

16 + 8 + 4 + 2 + 1 = 31.

Это отвечает на ваш вопрос?

1 голос
/ 07 января 2011

Это так же, как (если вы выполняете двоичную операцию)

 11101 OR 01111 =   11111 = 31 in decimal

, где 11101 - двоичное представление десятичного числа 29, а 01111 - двоичное представление десятичного числа 15

рекомендуемые чтения

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...