浮点类型的存储

来源:互联网 发布:吉林大学网络专科 编辑:程序博客网 时间:2024/05/16 09:25

浮点类型存储结构

在c语言中,单精度(float)数据类型为32bits,分三部分:
Sign:符号位,1 bit,0为正,1为负;
Exponent(bias):指数部分,8 bits,存储格式为移码存储,偏移量为127;
Mantissa(fraction):尾数部分。

同理,双精度(double)占64位,三部分分别为:1位,11位和52位,偏移量为1023

举例:
浮点类型的值4.25在计算机中存储的细节:先把4.25转换成二进制的表达方式:100.01,即1.0001x22
Sign=0;
Exponent(bias)=2+127=129 (偏移量为127,就是直接加127);
Mantissa=1.0001-1.0=0001(规格化后,小数点前总是整数1所以省略不写,即尾数部分不包括整数部分)