Почему использование шестнадцатеричного в компьютере лучше, чем восьмеричное?

5953
DatVM

Какие преимущества дает шестнадцатеричное? И действительно ли восьмеричное меньше, чем шестнадцатеричное?

3

3 ответа на вопрос

10
Christian Mann

Ну, я имею в виду, что сам компьютер не хранит никаких значений в шестнадцатеричном виде, он хранит их как двоичные. Однако мы решили представить их в виде шестнадцатеричных цифр по одной основной причине - это самый простой и краткий способ представления побайтных данных:

0110 1011 becomes 6B in hex 

Octal потребует группировки цифр в 3, что не позволит разделить на уровне байтов:

01 101 011 becomes 153 in octal 

Обратите внимание, что самая значимая цифра никогда не будет больше 3.

4
mtone

Из википедии :

Однако на всех современных вычислительных платформах используются 16-, 32- или 64-битные слова, дополнительно разделенные на восьмибитные байты. В таких системах потребуются три восьмеричные цифры на байт, причем наиболее значимая восьмеричная цифра представляет две двоичные цифры (плюс один бит следующего значащего байта, если таковой имеется). Восьмеричное представление 16-битного слова требует 6 цифр, но наиболее значимая восьмеричная цифра представляет (весьма нечетко) только один бит (0 или 1). Это представление не дает возможности легко прочитать самый значимый байт, потому что он размазан по четырем восьмеричным цифрам. Следовательно, шестнадцатеричный код чаще используется в языках программирования сегодня, поскольку две шестнадцатеричные цифры точно определяют один байт.

0
Robert

Как сказано выше, все хранится в двоичном виде. Считать; IPv4-адрес 192.168.0.1 в двоичном виде будет 11000000.10100000.00000000.00000001. Представьте себе IPv6-адрес, написанный в двоичном виде. Это было бы непрактично.

Кроме того, десятичный пунктирный IP-адрес `192.168.0.1` - это неподписанное целое число` 3232235521`, которое, как оно на самом деле хранится (что переводится в двоичный файл, который вы опубликовали, но без точек). Mark Henderson 9 лет назад 0