×

C++ IEEE 754 и точность типа float

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Помогите разобраться. Не могу понять...

В Visual c++ формат float соответствует стандарту IEEE 754, который определяет, что под значение порядка отводиться 8 бит, при этом порядок записывается как целое число в коде со сдвигом, то есть диапазон порядка должен быть от 10 в минус 128 степени до 10 в степени 127... но почему то этот диапазон порядка от 10 в −38 до 10 в 37 степени...

👍ПодобаєтьсяСподобалось0
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Почитайте это randomascii.wordpress.com/...rs-2012-edition думаю поможет понять всю глубину ;)

это всё потому что флоат это короткое натуральное, и нету там 8 бит

Если быть ещё более точным, это boolean. В миллибитах записаны градации уровня достоверности значения, а скрытый знак обозначает угол поворота мнения.

А где можно подробнее почитать про миллибиты, градации уровня достоверности, скрытый знак угла поворота мнения?

Лучшее описание я видел в статье Ж. Длинношееего в журнале «Эсхатология и герменевтика парапрограммных тангенциалей», 1999 или 2000 год. К сожалению, текста не сохранилось из-за качества бумаги, а переиздания не попадалось. Попробуйте выяснить в редакции, они сидели где-то в районе Русановских пещер...

))

Что Вы! Просто уточнил... Мне Ваши комментарии ценны независимо от Вашей ориентации (натуральное там, или нет)...

натуральное там, или нет
посыпаю голову пеплом.

Вот так всегда, хочеш кому-то помочь и не дай бог хоть в чем то оговорится, шутники затопчут

Ну вообще-то
1) в IEEE single (AKA binary32) именно 8 бит поле смещённого порядка;
2) binary32 не самое короткое, есть ещё binary16.
Так что если тут была оговорка, то как минимум три сразу. Потому оно и не детектировалось.

должен быть от 10 в минус 128 степени до 10 в степени 127
Нет, не должен. Точнее, не 10, а 2. Это двоичный порядок.

Да, верно основание 2, читал об этом, но с головы вылетело. Так действительно получается, что порядок числа 2^128 равен порядку числа 10^38.
Спасибо!

Підписатись на коментарі