stringtranslate.com

Клев

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

В вычислительной технике полубайт [1] (иногда nybble , nyble или nybl , чтобы соответствовать написанию byte ) — это четырёхбитное агрегирование , [1] [2] [3] или половина октета . Он также известен как полубайт [4] или тетрада . [5] [6] В сетевом или телекоммуникационном контексте полубайт часто называют полуоктетом , [ 7] квадрибитом , [8] или квартетом . [ 9] [10] Полубайт имеет шестнадцать ( 2 4 ) возможных значений. Полубайт может быть представлен одной шестнадцатеричной цифрой ( – ) и называется шестнадцатеричной цифрой . [11] 0F

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

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

История

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

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

Исторически существуют случаи, когда nybble использовался для группы битов больше 4. На Apple II большая часть управления дисководом и групповой кодированной записи была реализована программно. Запись данных на диск выполнялась путем преобразования 256-байтовых страниц в наборы 5-битных (позже 6-битных ) полубайтов, а загрузка данных с диска требовала обратного. [13] [14] [15] Более того, документация 1982 года для Integrated Woz Machine последовательно ссылается на «8-битный полубайт». [16] Термин байт когда-то имел ту же неоднозначность и означал набор бит, но не обязательно 8, отсюда и различие байтов и октетов или полубайтов и квартетов (или квадрибитов ). Сегодня термины байт и полубайт почти всегда относятся к 8-битным и 4-битным коллекциям соответственно и очень редко используются для выражения каких-либо других размеров.

Двоичное и шестнадцатеричное представление

Полубайт может быть представлен в двоичном и шестнадцатеричном виде следующим образом:

Низкие и высокие поклевки

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

девяносто семь = 97 10 = (0110 0001) 2 = 61 16

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

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

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

На языке С :

#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 ))              

Смотрите также

Ссылки

  1. ^ abc Raphael, Howard A., ed. (ноябрь 1974 г.). "Функции компьютера: регистр команд и декодер" (PDF) . Руководство пользователя MCS-40 для проектировщиков логики . Санта-Клара, Калифорния, США: Intel Corporation . стр. viii. Архивировано (PDF) из оригинала 2020-03-03 . Получено 2020-03-03 . [...] Характерное восьмибитовое поле иногда называют байтом , четырехбитовое поле можно назвать полубайтом. [...]
  2. ^ Холл, Дуглас В. (1980). Микропроцессоры и цифровые системы . McGraw-Hill . ISBN 0-07-025571-7.
  3. ^ Уоррен-младший, Генри С. (2013) [2002]. Hacker's Delight (2-е изд.). Addison WesleyPearson Education, Inc. ISBN  978-0-321-84268-8. 0-321-84268-5.
  4. ^ ab Raymond, Eric S. (1996). Новый словарь хакера. MIT Press . стр. 333. ISBN 978-0-262-68092-9.
  5. ^ Карр, Джон У. Введение в использование цифровых компьютеров: заметки с летней конференции, состоявшейся в вычислительном центре Университета Северной Каролины, Чапел-Хилл, Северная Каролина, 17–28 августа 1959 г. Frontier Research on Digital Computers. Том 1. Университет Северной Каролины в Чапел-Хилл, вычислительный центр. стр. 211. Каждая из этих букв соответствует одному из целых чисел от нуля до пятнадцати, поэтому требует 4 бита (одну «тетраду») в двоичном представлении.
  6. ^ Спейзер, Амброзиус Пол (1965) [1961]. Digitale Rechenanlagen – Grundlagen / Schaltungstechnik / Arbeitsweise / Betriebssicherheit [ Цифровые компьютеры – Основы / Схемы / Эксплуатация / Надежность ] (на немецком языке) (2-е изд.). ETH Zürich , Цюрих, Швейцария: Springer-Verlag / IBM . стр. 6, 34, 165, 183, 208, 213, 215. LCCN  65-14624. 0978.
  7. ^ Пуцман, Йозеф; Кубин, Борис (2012). Публичные сети данных: от отдельных PDN к ISDN. Springer Science+Business Media . стр. 113. ISBN 978-1-4471-1737-7.
  8. ^ Хорак, Рэй (2007). Новый всемирный словарь телекоммуникаций Вебстера. John Wiley & Sons . стр. 402. ISBN 978-0-470-22571-4.
  9. ^ Брюстер, Рональд Л. (1994). Передача данных и сети, т. III. Серия IEE по телекоммуникациям. Т. 31. Институт инженеров-электриков . стр. 155. ISBN 978-0-85296-804-8. Символ данных представляет собой один квартет (4 бита) двоичных данных.
  10. ^ Курбис, Поль ; Лаланд, Себастьен (27 июня 2006 г.) [1989]. Voyage au center de la HP28c/s (на французском языке) (2-е изд.). Париж, Франция: Editions de la Règle à Calcul. OCLC  636072913. Архивировано из оригинала 06 августа 2016 г. Проверено 6 сентября 2015 г.[1] [2] [3] [4] [5] [6]
  11. ^ Хеллер, Стив (1997). Введение в C++. Морган Кауфманн . стр. 27. ISBN 978-0-12-339099-8. Каждая шестнадцатеричная цифра (0–f) представляет ровно 4 бита.
  12. ^ "Terms And Abbreviations" (PDF) . Руководство по программированию на языке ассемблера MCS-4 – Руководство по программированию микрокомпьютерной системы INTELLEC 4 (предварительное издание). Санта-Клара, Калифорния, США: Корпорация Intel . Декабрь 1973 г. стр. v, 2–6. MCS-030-1273-1. Архивировано (PDF) из оригинала 01.03.2020 г. Получено 02.03.2020 г. [ ...] Бит – наименьшая единица информации, которая может быть представлена. (Бит может находиться в одном из двух состояний: 0 или 1). [...] Байт – группа из 8 смежных битов, занимающая одну ячейку памяти. [...] Символ – группа из 4 смежных битов данных. [...](Примечание. В этом руководстве по процессору Intel 4004 термин «символ» используется для обозначения 4-битных, а не 8-битных объектов данных . В своей документации для следующего процессора 4040 компания Intel перешла на использование более распространенного термина «полубайт» для 4-битных объектов еще в 1974 году.)
  13. ^ Worth, Don D.; Lechner, Pieter M. (май 1982 г.) [1981]. Beneath Apple DOS (4-е издание, 1-е изд.). Резеда, Калифорния, США: Quality Software . Получено 21.03.2017 .[7][8][9] Архивировано 9 марта 2016 г. в Wayback Machine
  14. ^ Ворт, Дон Д.; Лехнер, Питер М. (март 1985 г.) [1984]. Beneath Apple ProDOS – для пользователей компьютеров Apple II Plus, Apple IIe и Apple IIc (PDF) (2-е издание, 1-е изд.). Чатсворт, Калифорния, США: качественное программное обеспечение . ISBN 0-912985-05-4. LCCN  84-61383. Архивировано (PDF) из оригинала 2017-03-21 . Получено 2017-03-21 .[10]
  15. ^ Копия II Plus Version 9 – ProDOS/DOS Utilities – Восстановление данных, управление файлами, защищенное резервное копирование программного обеспечения (PDF) . 9.0. Central Point Software, Inc. 1989-10-31 [1982]. Архивировано из оригинала (PDF) 2017-05-07 . Получено 2017-03-21 .
  16. ^ Apple Computer, Inc. (февраль 1982 г.) [1978 г.]. Спецификация Integrated Woz Machine (IWM) (PDF) (19-е изд.). Музей компьютеров DigiBarn. Архивировано (PDF) из оригинала 2016-08-06 . Получено 2016-08-06 .
  17. ^ Baccala, Brent (апрель 1997 г.). «Двоичная арифметика». Connected: An Internet Encyclopedia (3-е изд.). Архивировано из оригинала 2016-08-06 . Получено 2015-07-20 .

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