float或double值如何存储在C中的变量中?

时间:2015-12-09 09:45:57

标签: c floating-point storage

我正在读的方式,整数如何存储在c中的变量中,最后一位用于整数的符号,其余的位用于存储数字。

但是如果我们在c中取一个double变量和long int变量,两者都有4个字节的大小,但是float可以存储非常大的数字,最大范围是10 38 但是很长相同大小的int不能存储如此巨大的价值。

我想了解浮动存储中使用的机制。

2 个答案:

答案 0 :(得分:5)

C语言不要求 floating point个数字的任何特定表示。

今天,大多数C实现都使用IEEE floating numbers(异常是不常见的,可能是IBM的一些Series Z大型机。)

阅读http://floating-point-gui.de/

答案 1 :(得分:5)

可以找到完整的解释here。基本上,这个数字并没有完全存储,只是大约。 32位用于存储尽可能多的精度。