Мне очень интересно, как хранится число с плавающей точкой с двойной точностью.Как хранится и вычисляется число с плавающей запятой двойной точности?
Это вещи, которые я догадался до сих пор.
- Они требуют 64 бита в памяти
- Состоит из трех частей
- Знаковый бит (1 бит в длину)
- экспонент (11 бит в длину)
- фракции (53 бита, первый бит считается всегда равным 1, поэтому сохраняются только 52, за исключением случаев, когда все 52 бита равны 0. Тогда старший бит считается 0)
Однако я не uderstand, что показатель, смещение показателя степени и все эти формулы в wikipedia page.
Может кто-нибудь объяснить мне то, что все эти вещи, как они работают, и в конечном итоге рассчитывается на реальный шаг за шагом числа?
Возможный дубликат http://stackoverflow.com/questions/6535343/c-how-is-double-number-eg-123-45-stored-in-a-float-variable-or-double-vari Посмотрите на лучшее ответ. Это то же самое, но с большим количеством бит для мантиссы и экспоненты. – Ram
Возможный дубликат [Почему одноточечный поплавок IEEE754 имеет только 7-значную точность?] (Http://stackoverflow.com/questions/19130396/why-ieee754-single-precision-float-has-only-7-digit-precision) Ответ и первый комментарий объясняют все кратко – Ron
Как работает IEEE754 и как вычисляется «реальное число» (точности) - это два разных вопроса. Я бы посоветовал вам начать с изучения того, как работает плавающая точка IEEE754, а затем посмотрите на связанный выше вопрос – Ron