Jump to content

Смещенный двоичный файл

(Перенаправлено с Excess-127 )

Смещенный двоичный файл , [1] также называемый избытком-K , [1] избыток -N , избыток-e , [2] [3] избыточный код или смещенное представление — это метод представления чисел со знаком , где число n со знаком представлено битовой комбинацией, соответствующей беззнаковому числу n + K , где K является значением смещения или смещением . Не существует стандарта для двоичного смещения, но чаще всего K для n- битного двоичного слова равен K = 2. п -1 (например, смещение четырехзначного двоичного числа будет равно 2 3 =8). Это приводит к тому, что минимальное отрицательное значение представлено только нулями, «нулевое» значение представлено 1 в самом старшем бите и нулем во всех остальных битах, а максимальное положительное значение представлено только единицами ( Для удобства это то же самое, что и использование дополнения до двух , но с инвертированием старшего бита). Это также приводит к тому, что при операции логического сравнения получается тот же результат, что и при операции числового сравнения в истинной форме, тогда как в записи с дополнением до двух логическое сравнение будет согласовываться с операцией числового сравнения в истинной форме тогда и только тогда, когда числа сравниваемые имеют одинаковый знак. В противном случае смысл сравнения будет инвертирован: все отрицательные значения будут считаться большими, чем все положительные значения.

5-битный код Бодо, со смещением 1 ( избыток-1 ) использовавшийся в ранних телеграфах с синхронным мультиплексированием, можно рассматривать как отраженный двоичный (Gray) код .

Одним из исторически выдающихся примеров нотации смещения-64 ( express-64 ) была нотация с плавающей запятой (экспоненциальная) в поколениях компьютеров IBM System/360 и System/370. «Характеристика» (экспонента) приняла форму семибитного числа с превышением 64 (Старший бит того же байта содержал знак мантиссы ) . [4]

8-битная экспонента в Microsoft Binary Format , формате с плавающей запятой, используемом в различных языках программирования (в частности, BASIC ) в 1970-х и 1980-х годах, была закодирована с использованием нотации смещения-129 ( extra-129 ).

Стандарт IEEE для арифметики с плавающей запятой (IEEE 754) использует обозначение смещения для части экспоненты в каждом из различных форматов точности . Однако необычно, что вместо использования «избыточных 2 п -1 "он использует" лишние 2 п -1 − 1" (т. е. превышение-15 , превышение-127 , превышение-1023 , превышение-16383 ), что означает, что инвертирование ведущего (старшего) бита экспоненты не приведет к преобразованию экспоненты для исправления обозначения дополнения до двух.

Двоичный сигнал смещения часто используется в цифровой обработке сигналов (DSP). Большинство аналого-цифровых (A/D) и цифро-аналоговых (D/A) микросхем являются униполярными, что означает, что они не могут обрабатывать биполярные сигналы (сигналы как с положительными, так и с отрицательными значениями). Простое решение этой проблемы — сместить аналоговые сигналы со смещением постоянного тока, равным половине диапазона АЦП и ЦАП. Результирующие цифровые данные затем оказываются в двоичном формате смещения. [5]

Большинство стандартных компьютерных процессоров не могут напрямую обрабатывать двоичный формат смещения. [ нужна ссылка ] . Чипы ЦП обычно могут обрабатывать только целые числа со знаком и без знака, а также форматы значений с плавающей запятой. Эти микросхемы ЦП могут обрабатывать двоичные значения смещения несколькими способами. Данные можно рассматривать просто как целые числа без знака, что требует от программиста работы с нулевым смещением в программном обеспечении. Данные также могут быть преобразованы в формат целых чисел со знаком (который ЦП может обрабатывать изначально) путем простого вычитания нулевого смещения. Вследствие того, что наиболее распространенное смещение для n -битного слова равно 2 п -1 , что означает, что первый бит инвертируется относительно дополнения до двух, нет необходимости в отдельном шаге вычитания, но можно просто инвертировать первый бит. Иногда это полезное упрощение аппаратного обеспечения, но может быть удобно и в программном обеспечении.

Таблица двоичных смещений для четырех битов с дополнением до двух для сравнения: [6]

Десятичный Смещение двоичного кода,
К = 8
Два
дополнять
7 1111 0111
6 1110 0110
5 1101 0101
4 1100 0100
3 1011 0011
2 1010 0010
1 1001 0001
0 1000 0000
−1 0111 1111
−2 0110 1110
−3 0101 1101
−4 0100 1100
−5 0011 1011
−6 0010 1010
−7 0001 1001
−8 0000 1000

Двоичный код смещения можно преобразовать в дополнение до двух путем инвертирования старшего бита. Например, для 8-битных значений двоичное значение смещения может быть подвергнуто операции XOR с 0x80 для преобразования в дополнение до двух. В специализированном оборудовании может быть проще принять бит в его нынешнем виде, но применить его значение в инвертированном значении.

[ редактировать ]
[2] [3] [7]
Сравнение кода [2] [3] [7]
Код Тип Параметры Веса Расстояние Проверка Дополнить Группы по 5 человек Простое дополнение
Смещение, к Ширина, н Фактор, q
код 8421 н [8] 0 4 1 8 4 2 1 1–4 Нет Нет Нет Нет
Указывая на код [8] [9] 2 + [8] 2 5 3 2–5 Да 9 Да Да
Код Стибица [10] п + 3 [8] 3 4 1 8  4  −2  −1 1–4 Нет 9 Да Да
Алмазный код [8] [11] 27н 6 + [8] [12] [13] 6 8 27 3–8 Да 9 Да Да
25 н + 15 [12] [13] 15 8 25 3+ Да Да ? Да
23 н + 24 [12] [13] 24 8 23 3+ Да Да ? Да
19 н + 42 [12] [13] 42 8 19 3–8 Да 9 Да Да
Десятичный
 
0
1
2
3
4
5
6
7
8
9
8421
4 3 2 1
0 0 0 0
0 0 0 1
0 0 1 0
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
Стибиц [10]
4 3 2 1
0 0 1 1
0 1 0 0
0 1 0 1
0 1 1 0
0 1 1 1
1 0 0 0
1 0 0 1
1 0 1 0
1 0 1 1
1 1 0 0
Указывая [8] [9]
5 4 3 2 1
0 0 0 1 0
0 0 1 0 1
0 1 0 0 0
0 1 0 1 1
0 1 1 1 0
1 0 0 0 1
1 0 1 0 0
1 0 1 1 1
1 1 0 1 0
1 1 1 0 1
Алмаз [8]
8 7 6 5 4 3 2 1
0 0 0 0 0 1 1 0
0 0 1 0 0 0 0 1
0 0 1 1 1 1 0 0
0 1 0 1 0 1 1 1
0 1 1 1 0 0 1 0
1 0 0 0 1 1 0 1
1 0 1 0 1 0 0 0
1 1 0 0 0 0 1 1
1 1 0 1 1 1 1 0
1 1 1 1 1 0 0 1
19 н + 42 [12] [13]
8 7 6 5 4 3 2 1
0 0 1 0 1 0 1 0
0 0 1 1 1 1 0 1
0 1 0 1 0 0 0 0
0 1 1 0 0 0 1 1
0 1 1 1 0 1 1 0
1 0 0 0 1 0 0 1
1 0 0 1 1 1 0 0
1 0 1 0 1 1 1 1
1 1 0 0 0 0 1 0
1 1 0 1 0 1 0 1

См. также

[ редактировать ]
  1. ^ Jump up to: а б Чанг, Анджела; Чен, Йен; Дельмас, Патрис (7 марта 2006 г.). «2.5.2: Представление данных: двоичное представление смещения (Excess-K)». КОМПСИ 210С1Т 2006 (PDF) . Департамент компьютерных наук Оклендского университета , Новая Зеландия. п. 18 . Проверено 4 февраля 2016 г.
  2. ^ Jump up to: а б с Доктер, Фолкерт; Штайнхауэр, Юрген (18 июня 1973 г.). Цифровая электроника . Техническая библиотека Philips (PTL) / Macmillan Education (переиздание 1-го изд. на английском языке). Эйндховен, Нидерланды: The Macmillan Press Ltd. / Gloeilampenfabrieken Н.В. Филипс . п. 44. дои : 10.1007/978-1-349-01417-0 . ISBN  978-1-349-01419-4 . СБН  333-13360-9 . Проверено 1 июля 2018 г. (270 страниц) (Примечание. Основано на переводе первого тома двухтомного немецкого издания.)
  3. ^ Jump up to: а б с Доктер, Фолкерт; Штайнхауэр, Юрген (1975) [1969]. «2.4.4.4. Лишние электронные коды». Цифровая электроника в измерительной технике и обработке данных: Теоретические основы и схемотехника . Специализированные книги Philips (на немецком языке). Том I (улучшенное и расширенное 5-е изд.). Гамбург, Германия: Deutsche Philips GmbH . стр. 51, 53–54. ISBN  3-87145-272-6 . (xii+327+3 страницы) (Примечание. Немецкое издание тома I было опубликовано в 1969, 1971 году, два издания - в 1972 и 1975 годах. Том II был опубликован в 1970, 1972, 1973 и 1975 годах.)
  4. ^ Принципы работы IBM System/360, форма A22-6821. Различные издания доступны на WWW. [ нужна страница ]
  5. ^ Факультет электротехники и информатики, Университет Юго-Восточного Массачусетса , Норт-Дартмут, Массачусетс, США (1988). Чен, Чи-хау (ред.). Справочник по обработке сигналов . Нью-Йорк, США: Marcel Dekker, Inc. / CRC Press . ISBN  0-8247-7956-8 . Проверено 4 февраля 2016 г.
  6. ^ «Форматы двоичного кода преобразования данных» (PDF) . Корпорация Интерсил (опубликовано в 2000 г.). Май 1997 г. AN9657.1 . Проверено 4 февраля 2016 г.
  7. ^ Jump up to: а б Моргенштерн, Бодо (январь 1997 г.) [июль 1992 г.]. «10.5.3.5 Код лишнего кода» . Электроника: цифровые схемы и системы . Исследования в области технологий (на немецком языке). Том 3 (переработанное 2-е изд.). Фридрих Видег и Зон Верлагсгезельшафт мбХ . стр. 120–121. дои : 10.1007/978-3-322-85053-9 . ISBN  978-3-528-13366-5 . Проверено 26 мая 2020 г. (xviii+393 страницы)
  8. ^ Jump up to: а б с д и ж г час Даймонд, Джозеф М. (апрель 1955 г.) [1954-11-12]. «Проверка кодов цифровых компьютеров» . Труды ИРЭ . Переписка. 43 (4). Нью-Йорк, США: 483–490 [487–488]. дои : 10.1109/JRPROC.1955.277858 . eISSN   2162-6634 . ISSN   0096-8390 . Архивировано из оригинала 26 мая 2020 г. Проверено 26 мая 2020 г. (2 страницы) (Примечание. Результаты, обсуждаемые в этом отчете, основаны на более раннем исследовании, проведенном Джозефом М. Даймондом и Моррисом Плоткиным в Инженерной школе Мура Пенсильванского университета в 1950–1951 годах по контракту с Burroughs Adding Машинная компания )
  9. ^ Jump up to: а б Нудинг, Эрих (1 января 1959 г.). «Код безопасности для телетайпов, используемых для ввода и вывода данных в электронные вычислительные машины» . Журнал прикладной математики и механики . Небольшие сообщения (на немецком языке). 39 (5–6): 429. Бибкод : 1959ЗаММ...39..249Н . дои : 10.1002/замм.19590390511 . (1 страница)
  10. ^ Jump up to: а б Стибиц, Джордж Роберт (9 февраля 1954 г.) [19 апреля 1941 г.]. «Сложный компьютер» . Патент US2668661A . Проверено 24 мая 2020 г. [1] (102 страницы)
  11. ^ Плоткин, Моррис (сентябрь 1960 г.). «Двоичные коды с указанным минимальным расстоянием». IRE Транзакции по теории информации . ИТ-6 (4): 445–450. дои : 10.1109/TIT.1960.1057584 . eISSN   2168-2712 . ISSN   0096-1000 . S2CID   40300278 . (Примечание. Также опубликовано как Отчет исследовательского отдела 51-20 Пенсильванского университета в январе 1951 г.)
  12. ^ Jump up to: а б с д и Браун, Дэвид Т. (сентябрь 1960 г.). «Обнаружение ошибок и исправление двоичных кодов для арифметических операций». IRE-транзакции на электронных компьютерах . ЕС-9 (3): 333–337. дои : 10.1109/TEC.1960.5219855 . ISSN   0367-9950 . S2CID   28263032 .
  13. ^ Jump up to: а б с д и Петерсон, Уильям Уэсли ; Уэлдон-младший, Эдвард Дж. (1972) [февраль 1971, 1961]. «15.3 Арифметические коды / 15.6 Самодополняющие коды AN + B ». Написано в Гонолулу, Гавайи. Коды, исправляющие ошибки (2-е изд.). Кембридж, Массачусетс, США: Массачусетский технологический институт ( MIT Press ). С. 454–456, 460–461 [456, 461]. ISBN  0-262-16-039-0 . LCCN   76-122262 . (xii+560+4 страницы)

Дальнейшее чтение

[ редактировать ]
  • Гослинг, Джон Б. (1980). «6.8.5 Представление экспоненты». В Самнере, Фрэнк Х. (ред.). Проектирование арифметических единиц для цифровых вычислительных машин . Серия Macmillan Computer Science (1-е изд.). Факультет компьютерных наук Манчестерского университета , Манчестер, Великобритания: The Macmillan Press Ltd. стр. 91, 137. ISBN.  0-333-26397-9 . […] [мы] используем значение [n экспоненты], которое сдвинуто на половину двоичного диапазона числа. […] Эту специальную форму иногда называют смещенной экспонентой , поскольку она представляет собой обычное значение плюс константу. Некоторые авторы называют это характеристикой, но этот термин не следует использовать, поскольку CDC и другие используют этот термин для обозначения мантиссы . Его также называют представлением «избыточного -», где, например, - равно 64 для 7-битной экспоненты (2 7−1  = 64). […]
  • Савард, Джон Дж. Г. (2018) [2006]. «Десятичные представления» . четырехблок . Архивировано из оригинала 16 июля 2018 г. Проверено 16 июля 2018 г. (Примечание: упоминается Превышение-3, Превышение-6, Превышение-11, Превышение-123.)
  • Савард, Джон Дж. Г. (2018) [2007]. «Кодирование Чен-Хо и плотно упакованная десятичная дробь» . четырехблок . Архивировано из оригинала 3 июля 2018 г. Проверено 16 июля 2018 г. (Примечание: упоминается Excess-25, Excess-250.)
  • Савард, Джон Дж. Г. (2018) [2005]. «Форматы с плавающей запятой» . четырехблок . Архивировано из оригинала 3 июля 2018 г. Проверено 16 июля 2018 г. (Примечание: упоминается Превышение-32, Превышение-64, Превышение-128, Превышение-256, Превышение-976, Превышение-1023, Превышение-1024, Превышение-2048, Превышение-16384.)
  • Савард, Джон Дж. Г. (2018) [2005]. «Компьютерная арифметика» . четырехблок . Архивировано из оригинала 16 июля 2018 г. Проверено 16 июля 2018 г. (Примечание: упоминается Excess-64, Excess-500, Excess-512, Excess-1024.)
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 9c1e58ec8aa82d307806fc898f0bb6f7__1664691600
URL1:https://arc.ask3.ru/arc/aa/9c/f7/9c1e58ec8aa82d307806fc898f0bb6f7.html
Заголовок, (Title) документа по адресу, URL1:
Offset binary - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)