MySQL Bit Тип данных Место для хранения - PullRequest
3 голосов
/ 23 августа 2009

Я изучаю руководство по сертификации MySQL. в разделе Битовый тип данных написано

БИТ (4) язвы 4 бита на значение

и это требование к памяти для столбца BIT (n) равно (n + 7) / 8. я не понимаю эту часть. BIT (4) занимает всего 4 бита памяти?

Ответы [ 2 ]

4 голосов
/ 23 августа 2009

На самом деле это неуклюжий способ округлить результат. Это означает, что BIT (1) - BIT (8) занимают 1 байт, BIT (9) - BIT (16) занимают 2 байта и т. Д. 7-разрядные служебные данные отсутствуют. Разделите количество битов на 8 и округлите результат. BIT (4) займет 1 байт.

2 голосов
/ 23 августа 2009

Кажется, что есть 7-битные служебные данные, вероятно, идентифицирующие блок памяти как BIT-хранилище.

Эти 7 битов добавляются к числу, запрошенному битом (n), и общая сумма делится на 8, чтобы получить количество байтов. Руководство определяет (n + 7) / 8 как БАЙТЫ

Таким образом, для 4 битов требуется менее 2 байтов. В руководстве написано «приблизительно», потому что это зависит от того, говорите ли вы о целых байтах или дробях.

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