单精度浮点数

更新时间:2024-01-16 16:22

单精度浮点数是用来表示带有小数部分的实数,一般用于科学计算。占用4个字节(32位)存储空间,包括符号位1位,阶码8位,尾数23位。其数值范围为-3.4E38~3.4E38,单精度浮点数最多有7位十进制有效数字,单精度浮点数的指数用“E”或“e”表示。

定义

单精度浮点数格式是一种计算机数据格式,在计算机存储器中占用4个字节(32 bits),利用“浮点”(浮动小数点)的方法,可以表示一个范围很大的数值。

在IEEE 754-2008的定义中,32-bit base 2格式被正式称为binary32格式。这种格式在IEEE 754-1985被定义为single,即单精度。需要注意的是,在更早的一些计算机系统中,也存在着其他4字节的浮点数格式。

单精度浮点数的长度字节,其中最高位为符号位S,中间8位表示阶码e,低23位表示尾数f。

单精度浮点数表示法规定:把一个数转换成浮点数储存时,整数部分保持位“1”,但这个“1”不存储,是隐含的。因此把一个单精度浮点数转换成真值时,需要在尾数的整数部分加一个“1”。

例如:13=1101B,将其规格化成浮点数后的结果位1.101×211,其整数部分的“1”不存储。尾数中只存储存小数部分的“101”。阶码部分为纯整数,并用移码表示。在使用单精度浮点数格式表示时,阶码的偏移值为127(即1111111B)。所以采用单精度浮点数表示时,数的真值为(-1)S2e-127×(1.f)

表示格式

转换方法

以102.25为例

102.25转换成单精度浮点数格式为

浮点数

浮点数是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法

浮点计算是指浮点数参与的运算,这种运算通常伴随着因为无法精确表示而进行的近似或舍入。

一个浮点数a由两个数m和e来表示:a = m × b^e。在任意一个这样的系统中,我们选择一个基数b(记数系统的基)和精度p(即使用多少位来存储)。m(即尾数)是形如±d.ddd...ddd的p位数(每一位是一个介于0到b-1之间的整数,包括0和b-1)。如果m的第一位是非0整数,m称作规格化的。有一些描述使用一个单独的符号位(s 代表+或者-)来表示正负,这样m必须是正的。e是指数。

补码

补码(英语:2's complement)是一种用二进制表示有号数的方法,也是一种将数字的正负号变号的方式,常在计算机科学中使用。

一个数字的补码就是将该数字作比特反相运算(即反码),再将结果加1。在补码系统中,一个负数就是用其对应正数的补码来表示。

补码系统的最大优点是可以在加法减法处理中,不需因为数字的正负而使用不同的计算方式。只要一种加法电路就可以处理各种有号数加法,而且减法可以用一个数加上另一个数的补码来表示,因此只要有加法电路及补码电路即可完成各种有号数加法及减法,在电路设计上相当方便。

另外,补码系统的0就只有一个表示方式,这点和反码系统不同(在反码系统中,0有二种表示方式),因此在判断数字是否为0时,只要比较一次即可。

右侧的表是一些8-bit补码系统的整数。它的可表示的范围包括-128到127,总共256(=2)个整数。

免责声明
隐私政策
用户协议
目录 22
0{{catalogNumber[index]}}. {{item.title}}
{{item.title}}