Полубайт

редактировать
группа из четырех битов (полбайта); единица информации

октет кодовая страница 866 таблица шрифтов, упорядоченная по полубайтам.

В вычислении полубайт ( иногда nybble или nyble для соответствия написанию byte ) представляет собой четырех- бит агрегации или половину октета. Он также известен как полубайт или тетрад . В контексте сетевых или телекоммуникаций полубайт часто называют полуоктетом, квадбитом или квартетом <76.>. У полубайта есть шестнадцать (2) возможных значений. Полубайт может быть представлен одной шестнадцатеричной цифрой и называться шестнадцатеричной цифрой .

Полный байт (октет) представлен двумя шестнадцатеричными цифры; поэтому обычно байт информации отображается как два полубайта. Иногда набор всех значений байтов 256 представлен в виде таблицы 16 × 16, которая дает легко читаемые шестнадцатеричные коды для каждого значения.

Четырехбитные компьютерные архитектуры используют группы из четырех битов в качестве своей основной единицы. Такие архитектуры использовались в ранних микропроцессорах, карманных калькуляторах и карманных компьютерах. Они продолжают использоваться в некоторых микроконтроллерах . В этом контексте 4-битные группы иногда также назывались символами, а не полубайтами.

Содержание

  • 1 История
  • 2 Таблица полубайтов
  • 3 Младшие и старшие полубайты
  • 4 Извлечение полубайта из байта
  • 5 См. Также
  • 6 Ссылки
  • 7 Внешние ссылки

История

Термин «полубайт» происходит от его представления «полубайта» с 'byte' гомофон из английского слова «укус». В 2014 году Дэвид Б. Бенсон, почетный профессор Вашингтонского государственного университета, вспомнил, что он в шутку использовал (и, возможно, придумал) термин «полубайта» как «полбайта» и единицы памяти, необходимой для хранения десятичная десятичная цифра в двоичном коде (BCD) примерно в 1958 году при разговоре с программистом из Лос-Аламосской научной лаборатории. Альтернативное написание «nybble» отражает написание «байта», как отмечалось в редакционных статьях Kilobaud и Byte в начале 1980-х годов. Еще одно раннее зарегистрированное использование термина «ниббл» было в 1977 году в группе технологий потребительского банкинга в Citibank. Он создал стандарт до ISO 8583 для транзакционных сообщений между банкоматами и центрами обработки данных Ситибанка, в котором использовалась базовая информационная единица NABBLE.

Полубайт используется для описания объема памяти, используемой для хранения цифры числа, хранящегося в упакованном десятичном формате (BCD) в мэйнфрейме IBM. Этот метод используется для ускорения вычислений и упрощения отладки. 8-битный байт делится пополам, и каждый полубайт используется для хранения одной десятичной цифры. Последний (крайний правый) полубайт переменной зарезервирован для знака. Таким образом, переменная, которая может хранить до девяти цифр, будет «упакована» в 5 байтов. Легкость отладки объясняется тем, что числа читаются в шестнадцатеричном дампе , где два шестнадцатеричных числа используются для представления значения байта, как 16 × 16 = 2. Например, Пятибайтовое значение BCD 314159265Cпредставляет собой десятичное значение +314159265.

Исторически были случаи, когда nybble использовался для группы битов больше 4. В строке микрокомпьютера Apple II, большая часть управления дисководом и запись с групповым кодированием была реализована в программном обеспечении. Запись данных на диск осуществлялась путем преобразования 256-байтовых страниц в наборы 5-битных (позже 6-битных ) полубайтов, а загрузка данных на диск требовала обратного. Более того, документация 1982 г. для Интегрированной Возвратной Машины постоянно ссылается на «8-битный полубайт». Термин "байт" когда-то имел ту же двусмысленность и означал набор битов, но не обязательно 8, отсюда и различие байтов и октетов или полубайтов и квартетов (или квадбитов). Сегодня термины «байт» и «полубайт» почти всегда относятся к 8-битным и 4-битным коллекциям соответственно и очень редко используются для обозначения любых других размеров.

Таблица полубайтов

Шестнадцать полубайтов и их эквиваленты в других системах счисления:

Примеры
ДвоичныйШестнадцатеричный
0000 0100 00100 4 2
0010 1010 10012 A 9
0010 0000 10012 0 9
1110 0100 1001E 4 9
0011 1001 01103 9 6
0001 0000 00011 0 1
0011 0101 01003 5 4
0001 0110 01001 6 4
0hex=0dec =0oct0000
1hex=1dec =1oct0001
2hex=2dec =2oct0010
3hex=3dec =3oct0011
4hex=4dec =4oct0100
5hex=5dec =5oct0101
6hex=6dec =6oct0110
7hex=7dec =7oct0111
8hex=8dec =10oct1000
9hex=9dec =11oct1001
Ahex=10dec =12oct1010
Bhex=11dec =13oct1011
Chex=12dec =14oct1100
Dhex=13dec =15oct1101
Ehex=14dec =16oct1110
Fhex=15dec =17oct1111

Младший и старший полубайт

Термины «младший полубайт» и «старший полубайт» используются для обозначения полубайтов, содержащих, соответственно, менее значимые биты и более значимый бит. s в байте. В графическом представлении битов в байте крайний левый бит может представлять самый старший бит (MSB ), соответствующий обычной десятичной системе счисления, в которой цифра слева от числа является наиболее значимой. На таких иллюстрациях четыре бита на левом конце байта образуют старший полубайт, а оставшиеся четыре бита образуют младший полубайт. Например,

девяносто семь = 97 10 = (0110 0001) 2 = 61 шестнадцатеричный

старший полубайт - 0110 2(6шестнадцатеричный), а младший полубайт - 0001 2(1шестнадцатеричный). Общее значение: старший полубайт × 16 10 + младший полубайт (6 × 16 + 1 = 97 10).

Извлечение полубайта из байта

В C :

#define HI_NIBBLE (b) (((b)>>4) 0x0F) #define LO_NIBBLE (b) ((b) 0x0F)

где bдолжно быть переменной или константой целочисленного типа данных, и используется только младший байт b.

Например, HI_NIBBLE (0xAB) == 0xAи LO_NIBBLE (0xAB) == 0xB.

В Common Lisp :

(defun hi-nibble (b) (ldb (byte 4 4) b)) (defun lo-nibble (b) (ldb (byte 4 0) b))

См. также

Ссылки

Внешние ссылки

Последняя правка сделана 2021-05-31 08:10:47
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте