实型数据在内存中怎么存啊?举个例子。比如8.56795.在内存中怎么存的,谢谢啦。c语言中,。

来源:百度知道 编辑:UC知道 时间:2024/07/02 19:22:48
谢谢大家。

一般情况下表示形式如下(单精度24位情况下):
符号位 阶码 小数位
0 00000000 00000000000000000000000
符号位用来表示正负0为正
阶码是以2为底的指数
小数位表示小数点后面的数字
一般小数位用格式化的表示方法(符号 1.小数*2^阶码)
例如小数0.5
0.5的二进制为0.1
而我们转化为格式化的表示为 1.0*2^(-1)
由于阶码有正负之分所以阶码=127+指数,即阶码=127+(-1)=126即01111110
而小数位为0
则0.5的实型内存表示为0 01111110 00000000000000000000000

其他例子
0.625的二进制为0.101
格式化完为1.01*2^(-1)
所以0.625的实型内存表示为0 01111110 01000000000000000000000
-1.5的二进制为-1.1
格式化完为-1.1*2^(0)
所以-1.5的实型内存表示为1 01111111 10000000000000000000000