Мантисса [1] (также коэффициент , [1] иногда также аргумент или, что более двусмысленно, мантисса , [2] дробь , [3] [4] [nb 1] или характеристика [ 5] [2] ) относится к первому ( слева) часть числа в экспоненциальной записи или родственных понятий в представлении с плавающей запятой , состоящая из его значащих цифр . В зависимости от интерпретации показателя степени мантисса может представлять собой целое число или дробь .
Число 123,45 может быть представлено как десятичное число с плавающей запятой с целым числом 12345 в качестве мантиссы и степенным членом 10-2 , также называемым характеристиками , [6] [7] [8] , где -2 — показатель степени (а 10 это база). Его значение определяется следующей арифметикой:
То же значение также можно представить в нормализованной форме с мантиссой 1,2345 в качестве дробного коэффициента и +2 в качестве показателя степени (и 10 в качестве основания):
Шмид, однако, назвал это представление с мантиссой от 1,0 до 10 модифицированной нормализованной формой . [7] [8]
Для базы 2 эта форма 1.xxxx также называется нормализованной мантиссой .
Наконец, значение может быть представлено в формате, заданном стандартом языковой независимой арифметики и несколькими стандартами языков программирования, включая Ada , C , Fortran и Modula-2 , как
Шмид назвал это представление с мантиссой в диапазоне от 0,1 до 1,0 истинной нормализованной формой . [7] [8]
Для базы 2 эта форма 0.xxxx также называется нормированной мантиссой . [ нужна цитата ]
Для нормализованного числа старшая цифра всегда отлична от нуля. При работе в двоичном формате это ограничение однозначно определяет, что эта цифра всегда равна 1. Таким образом, она не сохраняется явно и называется скрытым битом .
Мантисса характеризуется своей шириной в (двоичных) цифрах , и в зависимости от контекста скрытый бит может учитываться или не учитываться при расчете ширины. Например, один и тот же формат двойной точности IEEE 754 обычно описывается как имеющий либо 53-битное мантиссу, включая скрытый бит, либо 52-битное мантиссу, исключая скрытый бит. IEEE 754 определяет точность p как количество цифр в мантиссе, включая любой неявный ведущий бит (например, p = 53 для формата двойной точности), таким образом, способом, независимым от кодирования, и термином, выражающим то, что кодируется (то есть мантисса без ведущего бита) является конечным полем мантиссы .
В 1946 году Артур Бёркс использовал термины «мантисса» и «характеристика» для описания двух частей числа с плавающей запятой ( Бёркс [6] и др. ) по аналогии с распространенными в то время таблицами десятичных логарифмов : характеристикой является целая часть числа с плавающей запятой. логарифм (то есть показатель степени), а мантисса — это дробная часть. Сегодня это использование остается распространенным среди ученых-компьютерщиков .
Термин мантисса был введен Джорджем Форсайтом и Кливом Молером в 1967 году [9] [10] [11] [4] и является словом, используемым в стандарте IEEE [12] в качестве коэффициента перед числом в научной записи, обсуждавшимся выше. Дробная часть называется дробью .
Чтобы понять оба термина, обратите внимание, что в двоичном формате соответствие точное при хранении степени 2. Этот факт позволяет быстро аппроксимировать логарифм по основанию 2, что приводит к алгоритмам, например, для вычисления быстрого квадратного корня и быстрого обратного квадратного корня . Неявная ведущая 1 — это не что иное, как скрытый бит в формате IEEE 754 с плавающей запятой, а битовое поле, хранящее остаток, является, таким образом, мантиссой .
Однако независимо от того, включена ли неявная 1, это серьезная путаница с обоими терминами, особенно с мантиссой . В соответствии с первоначальным использованием в контексте таблиц журналов, его не должно быть.
В тех контекстах, где 1 считается включенным, Уильям Кахан , [1] ведущий создатель IEEE 754, и Дональд Э. Кнут , известный программист и автор книги «Искусство компьютерного программирования» , [5] осуждают использование мантиссы . Это привело к сокращению использования термина мантисса во всех контекстах. В частности, в действующем стандарте IEEE 754 об этом не упоминается.
[…] m — мантисса, или коэффициент, или (ошибочно) мантисса […](8 страниц)
[…] В представлении с плавающей запятой число x представляется двумя числами со знаком m и e , такими что x = m · b e , где m — мантисса, e — показатель степени , а b — основание . […] Мантиссу иногда называют характеристикой, и версия показателя степени также имеет это название у некоторых авторов. Остается надеяться, что условия здесь будут однозначными. […] [мы] используем значение [n экспоненты], которое сдвинуто на половину двоичного диапазона числа. […] Эту специальную форму иногда называют смещенной экспонентой , поскольку она представляет собой обычное значение плюс константу. Некоторые авторы называют это характеристикой, но этот термин не следует использовать, поскольку CDC и другие используют этот термин для обозначения мантиссы. Его также называют представлением « избыток - », где, например, - равно 64 для 7-битной экспоненты (2 7−1 = 64). […](Примечание. Гослинг вообще не упоминает термин «значащее».)
[…] Для этой цели иногда используются и другие названия, особенно «характеристика» и «мантисса»; но было бы злоупотреблением терминологией называть дробную часть мантиссой, поскольку этот термин имеет совершенно иное значение по отношению к логарифмам. Более того, английское слово мантисса означает «бесполезное дополнение». […]
[…] Некоторые из цифровых компьютеров, которые будут построены или планируются в этой стране и Англии, будут содержать так называемую «
плавающую десятичную точку
».
Это механизм выражения каждого слова как
характеристики
и
мантиссы
— например, 123,45 будет передаваться в машине как (0,12345,03), где 3 — это показатель степени 10, связанный с числом.
[…]
[…] Этот термин был введен
Форсайтом
и
Молером
[1967] и обычно заменил старый термин
«мантисса»
.
[…]
(Примечание. Более новую отредактированную версию можно найти здесь: [1])