stringtranslate.com

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

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

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

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

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

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

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

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

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

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

Связанные коды

[2] [3] [7]

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

Рекомендации

  1. ^ Аб Чанг, Анджела; Чен, Йен; Дельмас, Патрис (7 марта 2006 г.). «2.5.2: Представление данных: двоичное представление смещения (Excess-K)». КОМПСКИ 210С1Т 2006 (PDF) . Департамент компьютерных наук Оклендского университета , Новая Зеландия. п. 18 . Проверено 4 февраля 2016 г.
  2. ^ abc Доктер, Фолкерт; Штайнхауэр, Юрген (18 июня 1973 г.). Цифровая электроника. Техническая библиотека Philips (PTL) / Macmillan Education (переиздание 1-го изд. на английском языке). Эйндховен, Нидерланды: The Macmillan Press Ltd. / Gloeilampenfabrieken NV Philips . п. 44. дои : 10.1007/978-1-349-01417-0. ISBN 978-1-349-01419-4. СБН 333-13360-9. Проверено 1 июля 2018 г.(270 страниц) (Примечание. Основано на переводе первого тома двухтомного немецкого издания.)
  3. ^ abc Доктер, Фолкерт; Штайнхауэр, Юрген (1975) [1969]. «2.4.4.4. Exzeß-e-Kodes». Digitale Elektronik in der Meßtechnik und Datenverarbeitung: Theoretische Grundlagen und Schaltungstechnik . Philips Fachbücher (на немецком языке). Том. Я (улучшенное и дополненное 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. ^ аб Моргенштерн, Бодо (январь 1997 г.) [июль 1992 г.]. «10.5.3.5 Лишний электронный код». Электроника: Digitale Schaltungen und Systeme . Studium Technik (на немецком языке). Том. 3 (переработанное 2-е изд.). Фридрих Видег и Зон Верлагсгезельшафт мбХ . стр. 120–121. дои : 10.1007/978-3-322-85053-9. ISBN 978-3-528-13366-5. Проверено 26 мая 2020 г.(xviii+393 страницы)
  8. ^ abcdefgh Даймонд, Джозеф М. (апрель 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. ^ Аб Нудинг, Эрих (1 января 1959). «Ein Sicherheitscode für Fernschreibgeräte, die zur Ein- und Ausgabe an elektronischen Rechenmaschine verwendet werden». Zeitschrift für Angewandte Mathematik und Mechanik . Кляйне Миттейлунген (на немецком языке). 39 (5–6): 429. Бибкод : 1959ЗаММ...39..249Н. дои : 10.1002/zamm.19590390511.(1 страница)
  10. ^ аб Стибиц, Джордж Роберт (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. ^ abcde Браун, Дэвид Т. (сентябрь 1960 г.). «Обнаружение ошибок и исправление двоичных кодов для арифметических операций». IRE-транзакции на электронных компьютерах . ЕС-9 (3): 333–337. дои : 10.1109/TEC.1960.5219855. ISSN  0367-9950. S2CID  28263032.
  13. ^ abcde Петерсон, Уильям Уэсли ; Уэлдон-младший, Эдвард Дж. (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 страницы)

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