Задавайте вопросы, мы ответим
Вы не зашли.
Никак не могу разобраться. Пусть у меня объявлено поле BIT(4). Записываю туда значение "0101", что соответствует числу 5. Как мне извлечь его отрицание, то бишь "1010", что соответствует числу 10?
Вот такие варианты делают не то, что нужно:
Неактивен
Тильда вполне хорошо работает. Только Вы интерпретируете неправильно.
[silentia] root test > select b+0 from b; +------+ | b+0 | +------+ | 5 | +------+ 1 row in set (0.00 sec) [silentia] root test > select ~b + 0 from b; +----------------------+ | ~b + 0 | +----------------------+ | 18446744073709551610 | +----------------------+ 1 row in set (0.00 sec) [silentia] root test > select ~b & 15 + 0 from b; +-------------+ | ~b & 15 + 0 | +-------------+ | 10 | +-------------+ 1 row in set (0.00 sec)
Неактивен
Т.е. даже если поле объявлено как 4-битное, оно все равно воспринимается как 64-битное?.. Какое-то странное поведение...
Отредактированно Retrill (12.01.2011 23:05:11)
Неактивен
В MySQL все вычисления производятся в 64 битах (и это еще один повод не
ставить его на 32-битные ОС, кстати).
Неактивен