stringtranslate.com

Значимая часть

Значащая часть [ 1] (также коэффициент , [1] иногда аргумент , или более двусмысленно мантисса , [2] дробь , [3] [4] [nb 1] или характеристика [5] [2] ) — первая (левая) часть числа в научной нотации или связанных с ней концепциях в представлении с плавающей точкой , состоящая из его значащих цифр . В зависимости от интерпретации показателя степени , значащая часть может представлять целое или дробное число .

Пример

Число 123,45 можно представить в виде десятичного числа с плавающей точкой с целым числом 12345 в качестве мантиссы и степенным членом 10−2, также называемым характеристиками , [ 6] [7] [8], где −2 — показатель степени (а 10 — основание). Его значение определяется следующей арифметикой:

123,45 = 12345 × 10 −2 .

Это же значение можно представить в научной записи с мантиссом 1,2345 в качестве дробного коэффициента и показателем степени +2 (и основанием 10):

123,45 = 1 . 2345 × 10 +2 .

Однако Шмид назвал это представление со значащей частью в диапазоне от 1,0 до 10 модифицированной нормализованной формой . [7] [8]

Для основания 2 эта форма 1.xxxx также называется нормализованной мантиссой .

Наконец, значение может быть представлено в формате, заданном стандартом Language Independent Arithmetic и несколькими стандартами языков программирования, включая Ada , C , Fortran и Modula-2 , как

123,45 = 0 . 12345 × 10 +3 .

Шмид назвал это представление со значащей частью в диапазоне от 0,1 до 1,0 истинной нормализованной формой . [7] [8]

Скрытый бит в числах с плавающей точкой

Для нормализованного числа самая значимая цифра всегда не равна нулю. При работе в двоичном формате это ограничение однозначно определяет, что эта цифра всегда равна 1. Таким образом, она явно не хранится, а называется скрытым битом .

Мантисса характеризуется своей шириной в (двоичных) цифрах , и в зависимости от контекста скрытый бит может или не может быть учтен в ширине. Например, тот же формат двойной точности IEEE 754 обычно описывается как имеющий либо 53-битную мантиссу, включая скрытый бит, либо 52-битную мантиссу, [ требуется ссылка ] исключая скрытый бит. IEEE 754 определяет точность p как количество цифр в мантиссе, включая любой неявный ведущий бит (например, p = 53 для формата двойной точности), таким образом, независимо от кодировки, и термин для выражения того, что кодируется (то есть мантисса без ее ведущего бита), является полем конечной мантиссы .

Мантисса с плавающей точкой

В 1914 году Леонардо Торрес Кеведо представил арифметику с плавающей точкой в ​​своих «Очерках об автоматике» [9] , где он предложил формат n ; m , показав необходимость фиксированного размера мантиссы, который в настоящее время используется для данных с плавающей точкой. [10]

В 1946 году Артур Беркс использовал термины мантисса и характеристика для описания двух частей числа с плавающей точкой ( Беркс [6] и др. ) по аналогии с распространенными в то время таблицами десятичных логарифмов : характеристика — это целая часть логарифма (т. е. показатель степени), а мантисса — дробная часть. Использование этого термина остается распространенным среди компьютерных специалистов и сегодня.

Термин «значимая часть» был введен Джорджем Форсайтом и Кливом Молером в 1967 году [11] [12] [13] [4] и является словом, используемым в стандарте IEEE [14] как коэффициент перед числом в научной нотации, обсуждавшимся выше. Дробная часть называется дробью .

Чтобы понять оба термина, обратите внимание, что в двоичной системе 1 + мантисса ≈ мантисса, и соответствие точное при сохранении степени двойки. Этот факт позволяет быстро аппроксимировать логарифм по основанию 2, что приводит к алгоритмам, например, для вычисления быстрого квадратного корня и быстрого обратного квадратного корня . Неявная ведущая 1 — это не что иное, как скрытый бит в плавающей точке IEEE 754, а битовое поле, хранящее остаток, таким образом, является мантиссой .

Однако, включена ли неявная 1 или нет, является основным моментом путаницы с обоими терминами, и особенно с мантиссой . В соответствии с первоначальным использованием в контексте таблиц журналов, она не должна присутствовать.

Для тех контекстов, где 1 считается включенным, Уильям Кахан [1] , ведущий создатель IEEE 754, и Дональд Э. Кнут , выдающийся программист и автор книги «Искусство программирования» , [5] осуждают использование мантиссы . Это привело к снижению использования термина мантисса во всех контекстах. В частности, текущий стандарт IEEE 754 не упоминает его.

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

Примечания

  1. ^ Термин «дробь» используется в стандарте IEEE 754-1985 в другом значении: это дробная часть мантиссы, т. е. мантисса без явного или неявного ведущего бита.

Ссылки

  1. ^ abc Kahan, William Morton (2002-04-19). "Имена для стандартизированных форматов с плавающей точкой" (PDF) . Архивировано (PDF) из оригинала 2023-12-27 . Получено 2023-12-27 . […] m — мантисса или коэффициент или (ошибочно) мантисса […](8 страниц)
  2. ^ ab Gosling, John B. (1980). "6.1 Floating-Point Notation / 6.8.5 Exponent Representation". В Sumner, Frank H. (ред.). Design of Arithmetic Units for Digital Computers . Macmillan Computer Science Series (1-е изд.). Department of Computer Science, University of Manchester , Manchester, UK: The Macmillan Press Ltd. стр. 74, 91, 137–138. ISBN 0-333-26397-9. […] В представлении с плавающей точкой число x представлено двумя знаковыми числами m и e такими, что x  = m · b e , где m — мантисса, e — показатель степени , а b — основание . […] Мантисса иногда называется характеристикой, и версия показателя степени также носит это название у некоторых авторов. Надеемся, что термины здесь будут однозначными. […] [мы] используем значение [n показателя степени], которое смещено на половину двоичного диапазона числа. […] Эту специальную форму иногда называют смещенной экспонентой , поскольку она представляет собой обычное значение плюс константа. Некоторые авторы называют ее характеристикой, но этот термин не следует использовать, поскольку CDC и другие используют этот термин для мантиссы. Ее также называют представлением « избытка - », где, например, - равно 64 для 7-битного показателя степени (2 7−1  = 64). […](Примечание. Гослинг вообще не упоминает термин «сигнитисанд».)
  3. ^ English Electric KDF9: Очень высокоскоростная система обработки данных для торговли, промышленности, науки (PDF) (Листовка продукта). English Electric . c. 1961. Номер публикации DP/103. 096320WP/RP0961. Архивировано (PDF) из оригинала 27.07.2020 . Получено 27.07.2020 .
  4. ^ ab Savard, John JG (2018) [2005]. "Форматы с плавающей точкой". quadibloc . Примечание об обозначениях полей. Архивировано из оригинала 2018-07-03 . Получено 2018-07-16 .
  5. ^ ab Knuth, Donald E. Искусство программирования . Том 2. стр. 214. ISBN  0-201-89684-2. […] Иногда для этой цели используются и другие названия, в частности «характеристика» и «мантисса»; но называть дробную часть мантиссой — это злоупотребление терминологией, поскольку этот термин имеет совершенно иное значение в связи с логарифмами. Более того, английское слово mantissa означает «бесполезное сложение». […]
  6. ^ ab Burks, Arthur Walter ; Goldstine, Herman H. ; von Neumann, John (1963) [1946]. "5.3.". В Taub, AH (ред.). Preliminary discussion of the logical design of an electronic computing instrument (PDF) (Technical report, Institute for Advanced Study, Princeton, New Jersey, USA). Collected Works of John von Neumann. Vol. 5. New York, USA: The Macmillan Company . p. 42 . Retrieved 2016-02-07 . […] Несколько цифровых компьютеров, которые строятся или планируются в этой стране и Англии, должны содержать так называемую " плавающую десятичную точку ". Это механизм для выражения каждого слова как характеристики и мантиссы — например, 123,45 будет переноситься в машине как (0,12345,03), где 3 — это показатель степени 10, связанный с числом. […]
  7. ^ abc Schmid, Hermann (1974). Decimal Computation (1-е изд.). Бингемтон, Нью-Йорк, США: John Wiley & Sons, Inc. стр. 204-205. ISBN 0-471-76180-X. Получено 2016-01-03 .
  8. ^ abc Schmid, Hermann (1983) [1974]. Decimal Computation (1 (переиздание) изд.). Малабар, Флорида, США: Robert E. Krieger Publishing Company. стр. 204–205. ISBN 0-89874-318-4. Получено 2016-01-03 .(Примечание. По крайней мере некоторые партии этого переиздания были опечатками с дефектными страницами 115–146.)
  9. ^ Торрес Кеведо, Леонардо. Automática: Complemento de la Teoría de las Máquinas, (pdf), стр. 575–583, Revista de Obras Públicas, 19 ноября 1914 г.
  10. ^ Рональд Т. Кнойзель. Числа и компьютеры, Springer, стр. 84–85, 2017. ISBN 978-3319505084 
  11. ^ Форсайт, Джордж Элмер ; Молер, Клив Барри (сентябрь 1967). Компьютерное решение линейных алгебраических систем . Автоматические вычисления (1-е изд.). Нью-Джерси, США: Prentice-Hall , Englewood Cliffs . ISBN 0-13-165779-8.
  12. ^ Sterbenz, Pat H. (1974-05-01). Вычисления с плавающей точкой . Серия Prentice-Hall по автоматическим вычислениям (1-е изд.). Englewood Cliffs, Нью-Джерси, США: Prentice Hall . ISBN 0-13-322495-3.
  13. ^ Голдберг, Дэвид (март 1991 г.). «Что каждый специалист по компьютерам должен знать об арифметике с плавающей точкой» (PDF) . Computing Surveys . 23 (1). Xerox Palo Alto Research Center (PARC), Пало-Альто, Калифорния, США: Association for Computing Machinery, Inc. : 7. Архивировано (PDF) из оригинала 2016-07-13 . Получено 2016-07-13 . […] Этот термин был введен Форсайтом и Молером [1967] и в целом заменил старый термин мантисса . […](Примечание. Более новую отредактированную версию можно найти здесь: [1])
  14. ^ 754-2019 - Стандарт IEEE для арифметики с плавающей точкой . IEEE . 2019. doi :10.1109/IEEESTD.2019.8766229. ISBN 978-1-5044-5924-2.