浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
1 、浮点数基础知识
浮点数由四部分构成:符号位(sign bit)、尾数(mantissa)、基数(radix)和指数(exponent)。根据《ieee standard 754 for binary floating-point arithmetic》的定义–二进制标准浮点数,基数为2。s、m、e分别为符号数、尾数和指数,n为相应的浮点数值。
ieee-754规定了三种浮点数:单精度(float)、双精度(double)和扩展精度。
其中单精度为32bit,其中包含1位符号位s,8位指数位e和23位尾数位m。s、e、m为相应的二进制序列。
s:
正数 0.1xxxxxx
负数 1.1xxxxxx
m:
表示小数点之后的二进制尾数。
m为0110表示:二进制.0110
e:
规格化(normalized)
非规格化(denormalized)
2 、规格化浮点数
e表示的二进制不全为0也不全为1时该浮点数为规格化浮点数。
e表示偏置(biased)
|e|表示e的二进制整数
bias表示偏置
k为指数位宽
对于单精度浮点数来说k为8,所以bias为127。e=“10001000”为例,|e|=136,故e为9。
对于规格化浮点数,标准规定尾数位小数点左侧的隐含位为1,所以:
m = |1.m|
例如m=“10010…0”则1.m=“1.10010…0”所以m=1.5625
s=0
m = 1.5625
e =9
n =55.5112
单精度浮点数的公式可表示为:
3、非规格化浮点数
e的二进制位全为0时该浮点数为非规格化浮点数。
bias=127
单精度非规格化浮点数公式:
-0.0 符号位为1,其余位为0.
+0.0全部为0.
4、特殊数值
e的二进制位全为1时为特殊数值。
m全0,n无穷大
m全1,s为1,n负无穷大
m全1,s为0,n正无穷大
m不全为0和1,n nan(not a number)
5 、双精度浮点数
ieee-754定义双精度浮点数共64bit 。1位符号位s,11位指数位e和52位尾数位m。同样可以划分为规格化、非规格化和特殊数值。
森木磊石入选2023年东湖高新区上市“银种子”企业
5G打破网速限制 一下科技多元化发展提升竞争力
传台积电关闭4台EUV光刻机以减少产出!
Google Stadia已收购Sekiro
美图M4手机怎么样 为什么会被称为自拍神器
浮点数基础知识科普
为什么说可溯源就是区块链
快速识别需要更换有故障的自愈式低压并联电容器的技巧
企业应该对网站的网络安全性能重视起来
探讨MySQL的复制机制实现的方式
浅析闭源系统下的Evilparcel漏洞
卫星通信技术在智慧城市和智慧出行中的重要作用
音频放大器的LLC设计相关注意事项说明
欧姆龙位移传感器:欧姆龙位移传感器Z4D在ATM上的应用
智慧农业物联网平台助力农业生产管理更加高效便捷?
小米max拆解 骁龙652平板手机好吗?
ICC2中的physical_status属性值都有哪些区别呢
创建 USB-PD 源设备编译运行
年产200万平方米高精密多层电路板 江西九江仁创艺电子项目开工
WiFi6是什么意思?有哪些技术提升?