Почему число бит всегда (?) Имеет степень два? - PullRequest
50 голосов
/ 22 октября 2009

У нас есть 8-битные, 16-битные, 32-битные и 64-битные аппаратные архитектуры и операционные системы. Но не, скажем, 42-битные или 69-битные.

Почему? Это что-то фундаментальное, что делает 2 ^ n бит лучшим выбором, или это просто совместимость с существующими системами? (Очевидно, удобно, что 64-битный регистр может содержать два 32-битных указателя или 32-битный блок данных может содержать 4 байта.)

Ответы [ 18 ]

1 голос
/ 22 октября 2009

Связанные, но, возможно, не причина, я слышал, что соглашение 8 бит в байте заключается в том, что именно так IBM настроила архитектуру IBM System / 360.

1 голос
/ 22 октября 2009

Другой пример счетчика: микроконтроллеры серии PIC16C8X имеют набор команд шириной 14 бит.

1 голос
/ 18 ноября 2016

Байт относится к кодированию символов в основном западного мира, следовательно, 8 бит. Слово не связано с кодированием, оно связано с шириной адреса, поэтому оно варьируется от 4 до 80 и т. Д. И т. Д.

0 голосов
/ 22 октября 2009

Может быть, вы можете найти что-то здесь: Binary_numeral_system

0 голосов
/ 22 октября 2009

Мой надежный старый калькулятор HP 32S был 12-разрядным.

0 голосов
/ 20 февраля 2010

У нас есть, просто посмотрите на микроконтроллеры PIC.

0 голосов
/ 22 октября 2009

Поскольку пространство, зарезервированное для адреса, всегда является фиксированным числом битов. После того, как вы определили размер фиксированного адреса (или указателя), вы хотите использовать его наилучшим образом, поэтому вы должны использовать все его значения до наибольшего числа, которое он может сохранить. Наибольшее число, которое вы можете получить из кратного бита (0 или 1), всегда является степенью двойки

0 голосов
/ 22 октября 2009

ICL 1900 были все 24 бит (слова). Держу пари, что мало кто помнит это. Вы делаете ??

...