float型数据在内存中的存储形式

转载 2015年07月10日 16:31:20

一个float型实数在内存中占4个字节,即32个二进制bit,从低位到高位依次叫第0位到第31位。这32位可以分为3个部分:符号位(第31位),阶码(第30位到第23位共8位),尾数(最低23位)。

1、符号位。最高位也就是第31位表示这个实数是正数还是负数,为0表示正数或0,为1表示负数.

2、阶码。第30位到第23位这8个二进制位表示该实数转化为规格化的二进制实数后的指数与127(127即所谓偏移量)之和即所谓阶码.

规格化的二进制实数的指数只能在-127----+127之间,所以,一个float型数的最大值在+2^127即+3.4*10^38,最小值在-2^127即-3.4*10^38.

3、尾数。其他最低的23位即第22位到第0位表示该实数转化为规格化的二进制实数后小数点以后的其余各位即所谓尾数.

例如,将十进制178.125表示成机器内的32个字节的二进制形式.

 

第一步:将128.125表示成二进制数:(178.125)(十进制数)=(10110010.001)(二进制形式);

第二步:将二进制形式的浮点实数转化为规格化的形式:(小数点向左移动7个二进制位可以得到)

10110010.001=1.0110010001*2^7 因而产生了以下三项:

符号位:该数为正数,故第31位为0,占一个二进制位.

阶码:指数为7,故其阶码为127+7=134=(10000110)(二进制),占从第30到第23共8个二进制位.

尾数为小数点后的部分, 即0110010001.因为尾数共23个二进制位,在后面补13个0,即01100100010000000000000

所以,178.125在内存中的实际表示方式为:

0 10000110 01100100010000000000000

 

 

再如,将-0.15625表示成机器内的32个字节的形式.

第一步:将-0.15625表示成二进制形式: (-0.15625)(十进制数)=(-0.00101)(二进制形式);

第二步:将二进制形式的浮点数转化为规格化的形式:(小数点向右移动3个二进制位可以得到)

-0.00101=-1.01*2^(-3) 同样,产生了三项:

符号位:该数为负数,故第31位为1,占一个二进制位;

阶码:指数为-3,故其阶码为127+(-3)=124=01111100,占从第30到第23共8个二进制位;

尾数为小数点后的01,当然后面要补21个0;

所以,-0.15625在内存中的实际表示形式为:

1 01111100 01000000000000000000000

float型数据在内存中的存储方式

float型数据的取值范围在-3.4*10^38到+3.4*10^38次之间,其取值范围跟其在内存当中的存储方式(以科学计数法存储)有关: float型数据在内存当中占4个字节,分布如下: 1bit(...

C#建立控件数组,实现控件批量操作

C#建立控件数组,实现控件批量操作

机器学习----笔记之决策树(3)

决策树(decision tree) 1.算法思路:通过评估数据集各特征列的信息增益,选取合适的特征作为评估节点,并以该特征下所有取值作为分支,构建一个树形结构(非叶子节点为评估节点,叶子节点为类别...

float型数据在内存中的存储形式

一个float型实数在内存中占4个字节,即32个二进制bit,从低位到高位依次叫第0位到第31位。这32位可以分为3个部分:符号位(第31位),阶码(第30位到第23位共8位),尾数(最低23位)。 ...

float型数据在内存中的存储形式

作者:2623639225 原作网址:http://blog.sina.com.cn/s/blog_9c618eb901015hsw.html 一个float型实数在内存中占4个字节,...

整形数int、浮点型数据float,在内存中存储的表示

引言:突然想到一个底层问题。 计算机组成原理里学的:定点整数 定点小数 浮点数; 编程里的基本数据类型int float在内存中的存储形式; 二者究竟的对应关系是? CSDN博客里有这样一句话...

float和double的数据存储形式

C语言和C#语言中,对于浮点类型的数据采用单精度类型(float)和双精度类型(double)来存储,float数据占用32bit,double数据占用64bit,我们在声明一个变量float f= ...
  • zolalee
  • zolalee
  • 2014年09月30日 13:56
  • 254

C++float数据在内存中的表示形式

简单地说,一个float型实数在内存中占4个字节,即32个二进制bit,从低位到高位依次叫第0位到第31位.这32 位可以分为3个部分:符号位(第31位),阶码(第30位到第23位共8位),...

float数据在内存中的存储方法

浮点型变量在计算机内存中占用4字节(Byte),即32-bit。遵循IEEE-754格式标准。 一个浮点数由2部分组成:底数m 和 指数e。                          ±m...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:float型数据在内存中的存储形式
举报原因:
原因补充:

(最多只允许输入30个字)