浮点数如何存储在内存中

时间:2014-08-29 13:57:36

标签: floating-point

由于计算机只能理解下面的0和1,如何将12.1234这样的浮点数作为一组0和1来表示

是否由相应的ASCII值1,2,...存储。 ,1,2,3,4分别..?

2 个答案:

答案 0 :(得分:3)

由于计算机只能理解0和1,你有没有想过它如何存储电子邮件,图片,电影和声音?存储了0和1。这些是解释。我们根据您的目的为位分配含义。

Google for IEEE 754进行了彻底的解释。

答案 1 :(得分:1)

据我所知,flaoting数字(单精度)存储在内存中如下:

  • sign s(表示它是正还是负) - 1位
  • 尾数m(基本上是数字的数字 - 24位
  • 指数e - 8位

例如:

3.14159将代表如下:

0 10000100 11001001000011111100111
    ^     ^               ^
    |     |               |
    |     |               +--- significand = 0.7853975
    |     |
    |     +------------------- exponent = 4
    |
    +------------------------- sign = 0 (positive)

请注意.根本没有存储在内存中。

作为一个很好的参考资料,请阅读What Every Computer Scientist Should Know About Floating-Point ArithmeticFloating Point