IEEE 754
Можно только догадываться, что там написано по тем остаткам знаний, которые используются микроэлектронщиками.
---
...Я работаю антинаучным аферистом...
Как и в целых числах, значение знакового бита 0 означает, что число положительное, значение 1 - число отрицательное.
Так как первая цифра мантиссы всегда равна 1, то хранится только ее дробная часть. То есть, если M=1.010112, то [Мантисса]= 010112. Если M=1.10112, то [Мантисса]=10112. Таким образом в 23 битах хранится мантисса до 24 бит длиной. Чтобы получить из поля [Мантисса] правильное значение M необходимо мысленно прибавить к его значению единицу с точкой.
Для удобства представления отрицательного порядка в соответствующем поле реально хранится порядок+смещение. Например, если n=0, то [Порядок]=127. Если n=-7, то [Порядок]=120. Таким образом, его значение всегда неотрицательно.
Таким образом, общая формула по получению обычной записи числа из формата IEEE-754:
N = (-1)[Знак] * 1.[Мантисса] * 2[Порядок]-127 (нормализованная запись, 1)
Для 10.2510 = 1010.012 = +1.01001 * 23 соответствующие значения будут [Знак]=0 (+) , [Порядок] = 130(=3+127 [Мантисса] = 010012.
При значениях [Порядок]=1...254 эта система позволяет представлять числа приблизительно от +-3,39*10-38 до +-3,39*10+38.
Особым образом обрабатываются [Порядок]=0 и [Порядок]=255.
Если [Порядок]=0, но мантисса отлична от нуля, то перед ее началом необходимо ставить вместо единицы ноль с точкой. Так что формула меняется на
N = (-1)[Знак] * 0.[Мантисса] * 2-126 (денормализованная запись, 2)
Это расширяет интервал представления чисел до +-1,18*10-38. ... +-3,39*10+38
[Порядок]=0 [Мантисса]=0 обозначают ноль. Возможно существование двух нулей: +0 и -0, которые отличаются битом знака, но при операциях ведут себя одинаково. В этом смысле можно интерпретировать ноль как особое денормализованное число со специальным порядком.
Значение [Порядок]=255(все единицы) зарезервировано для специальных целей, более подробно описанных в стандарте. Такое поле в зависимости от мантиссы обозначает одно из трех специальных "нечисел", которые обозначают как Inf, NaN, Ind, и может появиться в результате ошибок в вычислениях и при переполнении.
Числа двойной точности устроены полностью аналогичным образом, к порядку прибавляется не 127, а 1023. Увеличение длин соответствующих полей позволяет хранить числа от 10-323.3 до 10308.3, значение [Порядок]=2047(все единицы) зарезервировано под "нечисла".
Это?
---
...Я работаю...
Всё зависит от того, что это за текст. Это описание стандарта или текст в духе "IEEE 754 для самых маленьких"? Так-то в принципе в общих чертах я это из сорсников на ультре вычитал (ieee754io.[ch]). Но если стандарт не открытый, то спасибо, тоже ценная информация. Буду знать как отмазываться о несделанной работе. ;-)
IEEE Standards On-Line subscriptions are topical collections of IEEE Standards available via the web as continuously updated subscriptions. New standards in a topic will be added to the subscriptions at no additional charge during the subscription period. The list of available subscriptions can be seen on our website at http://standards.ieee.org/catalog/olis/. Click "Subscriptions", and follow the links to see the list of standards available in each topic.
How do I become a subscriber?
To subscribe, please contact IEEE Customer Service with a signed license agreement and payment. License agreements are available on our website at "Licenses". Select the usage level you are interested in, and print out the licenses (available in HTML). Sign the license agreement and fax it to IEEE Customer Service.
IEEE Customer Service Information
IEEE Customer Service
445 Hoes Lane
PO Box 1331
Piscataway NJ 08855-1331
USA
Phone: (800)701.4333 (within the US and Canada)
Phone: (732)981.0060 (outside the US and Canada)
Fax: (732)981.9667
Email: customer.ieee.org
---
...Я работаю антинаучным аферистом...
ну кстати найти стандарты в инете можно. я помнится шарил штук 40 по сетям.
Оставить комментарий
tolik1
Где в локалке можно найти описание субжа? Единственное, что нашёл, так это на ультре сорсы какие-то, но хотелось бы почитать стандарт.Инета нету, поэтому и asking damb questions. Может, кто с инетом, запостит сюда?