Логарифмическая система счисления

редактировать

A Логарифмическая система счисления (LNS ) является арифметическая система, используемая для представления действительных чисел в компьютере и цифровом оборудовании, особенно для цифровой обработки сигналов.

Содержание
  • 1 Обзор
  • 2 История
  • 3 Приложения
  • 4 См. Также
  • 5 Ссылки
  • 6 Дополнительная литература
  • 7 Внешние ссылки
Обзор

В LNS число, X {\ displaystyle X }X представлен логарифмом , x {\ displaystyle x}x его абсолютного значения следующим образом:

Икс → {s, x = журнал b ⁡ (| X |)}, {\ displaystyle X \ rightarrow \ {s, x = \ log _ {b} (| X |) \},}X \ rightarrow \ {s, x = \ log _ {b} (| X |) \},

где s {\ displaystyle s}s немного обозначает знак X {\ displaystyle X}X (s = 0 {\ displaystyle s = 0}s = 0 если X>0 {\ displaystyle X>0}X>0 и s = 1 \ displaystyle s = 1}s = 1 , если X < 0 {\displaystyle X<0}X <0 ).

Число x {\ displaystyle x}x представлено двоичным словом, которое обычно имеет формат с дополнением до двух. LNS можно рассматривать как число с плавающей запятой, где мантисса всегда равна 1, а нецелочисленная экспонента. Эта формулировка упрощает операции умножения, деления, степеней и корней, поскольку они сводятся к сложению, вычитанию, умножению и делению соответственно.

С другой стороны, операции сложения и вычитания более сложные и вычисляются по формуле:

log b ⁡ (| X | + | Y |) = x + sb (y - Икс) {\ Displaystyle \ журнал _ {b} (| Икс | + | Y |) = х + s_ {b} (yx)}{\ displaystyle \ log _ {b} (| X | + | Y |) = x + s_ {b} (yx)}
журнал b ⁡ (| | X | - | Y | |) = х + db (y - x), {\ displaystyle \ log _ {b} (|| X | - | Y ||) = x + d_ {b} (yx),}{\ displaystyle \ log _ {b} (|| X | - | Y ||) = x + d_ {b} (yx),}

где функция "сумма" определяется как sb (z) = log b ⁡ (1 + bz) {\ displaystyle s_ {b} (z) = \ log _ {b} (1 + b ^ {z})}s_ {b} (z) = \ log _ {b} (1 + b ^ {z}) , а функция "разности" - на db (z) = log b ⁡ (| 1 - bz |) {\ displaystyle d_ {b} (z) = \ log _ {b} (| 1-b ^ {z} |)}d_ {b} (z) = \ log _ {b} (| 1-b ^ {z} |) . Эти функции sb (z) {\ displaystyle s_ {b} (z)}s_ {b} (z) и db (z) {\ displaystyle d_ {b} (z)}d_ {b} (z) также известны как логарифмы Гаусса.

Упрощение умножения, деления, корней и степеней уравновешивается затратами на оценку этих функций для сложения и вычитания. Эта дополнительная стоимость оценки может не быть критической при использовании LNS в первую очередь для повышения точности математических операций с плавающей запятой.

История

Логарифмические системы счисления были независимо изобретены и опубликованы не менее трех раз в качестве альтернативы с фиксированной точкой и с плавающей запятой. -точечные системы счисления.

Николас Кингсбери и Питер Рейнер в 1971 году представили «логарифмическую арифметику» для цифровой обработки сигналов (DSP).

Аналогичная LNS с названием «знаковая логарифмическая система счисления» (SLNS) была описана в 1975 году Эрлом Шварцлендером и Аристидесом Алексопулосом; вместо использования двух дополнений для логарифмов они смещают их (масштабируют представляемые числа), чтобы избежать отрицательных логарифмов.

Самуэль Ли и Альберт Эдгар описали аналогичную систему, которую они назвали система счисления "Focus", 1977 год.

Математические основы для сложения и вычитания в LNS восходят к Карлу Фридриху Гауссу в начале 1800-х годов.

Приложения

LNS использовался в специальном суперкомпьютере Gravity Pipe (GRAPE-5 ), получившем Приз Гордона Белла в 1999.

В контексте Европейского логарифмического микропроцессора (ELM) описаны значительные усилия по исследованию применимости LNS в качестве жизнеспособной альтернативы плавающей запятой для универсальной обработки вещественных чисел одинарной точности. Изготовленный прототип процессора, который имеет 32-битное основанное на котрансформации арифметико-логическое устройство LNS (ALU) на основе котрансформации, продемонстрировал LNS как «более точную альтернативу плавающей запятой» с улучшенной скоростью. Дальнейшее улучшение дизайна LNS на основе архитектуры ELM показало его способность обеспечивать значительно более высокую скорость и точность, чем с плавающей запятой.

LNS иногда используются в приложениях на основе FPGA где большинство арифметических операций - это умножение или деление.

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