В каком формате, храняться числа в float и double?
вряд ли тебе это когда нибудь может понадобиться.
разве что для ассемблера.
>вряд ли тебе это когда нибудь может понадобиться.
>разве что для ассемблера.Мне это СЕЙЧАС надо!
Точное представление от железа зависит. А вообще на сей
формат есть стандарт от IEEE. Состоит число, само собой,
из двоичных мантиссы и экспоненты, плюс один бит на знак.
Мантисса нормализована, точный размер мантиссы, экспоненты,
а также их точное расположение в 4-х (float), 8-ми(double)
или 10-ти(long double) октетном вещественном числе вроде бы
стандарт не определяет или определяет не до конца.Для выяснения формата можно либо долго рыться в спецификациях
железа, либо наваять хитрую софтину, которая будет побитно
сравнивать числа, которые по стандарту должны отличаться друг
от друга ровно на один бит. Пример: 1.0 и -1.0 отличаются
(если я не ошибаюсь) только знаковым битом. 1.0 и 2.0 - парой
битов мантиссы (младшим и тем, что на один старше).
>формат есть стандарт от IEEE. Состоит число, само собой,
Какой именно стандарт IEEE? По-поводу плавающих я нашел IEEE-754.
>В каком формате, храняться числа в float и double?
Если знаешь Си, то напиши нехитрую прогу :
шаг 1: получи длину своей дабл переменной
шаг 2: опиши юнион : дабл-переменной с соответствующим количеством однобайтовых переменных.
шаг 3: Присвой значение свойе дабл-переменной.
шаг 4: Распечатай значения соответствующих одно-байтных переменныхИ смотри что получилось :)
>>В каком формате, храняться числа в float и double?
>Если знаешь Си, то напиши нехитрую прогу :
я знаю не только си... :)
>И смотри что получилось :)p.s. всем спасибо, все это описано в IEEE-754 :)