为便于软件的移植,浮点数的表示格式应该有统一标准(定义)。
1985年IEEE(Institute of Electrical and Electronics Engineers)提出了IEEE754标准。
该标准规定基数为2,阶码E用移码表示,尾数M用原码表示,根据原码的规格化方法,最高数字位总是1,该标准将这个1缺省存储,使得尾数表示范围比实际存储的一位。
实数 的IEEE754标准的浮点数格式为:
具体有三种形式:
IEEE754三种浮点数的格式参数
类型 存储位数 偏移值
数符(s) 阶码(E) 尾数(M) 总位数 十六进制 十进制
短实数(Single,Float) 1位 8位 23位 32位 0x7FH +127
长实数(Double) 1位 11 位 52位 64位 0x3FFH +1023
临时实数(延伸双精确度,不常用) 1位 15位 64位 80位 0x3FFFH +16383
对于阶码为0或为255(2047)的情况,IEEE有特殊的规定:
如果 E 是0 并且 M 是0,这个数±0(和符号位相关) 如果 E = 2 ? 1 并且 M 是0,这个数是 ±无穷大(同样和符号位相关) 如果 E = 2 ? 1 并且 M 非0,这个数表示为不是一个数(NaN)。
标准浮点数的存储在尾数中隐含存储着一个1,因此在计算尾数的真值时比一般形式要多一个整数1。
对于阶码E的存储形式因为是127的偏移,所以在计算其移码时与人们熟悉的128偏移不一样,正数的值比用128偏移求得的少1,负数的值多1,为避免计算错误,方便理解,常将E当成二进制真值进行存储。
例如:将数值-0.5按IEEE754单精度格式存储,先将-0.5换成二进制并写成标准形式:-0.510=-0.12=-1.0×2-12,这里s=1,M为全0,E-127=-1,E=12610=011111102,则存储形式为:
1 01111110 000000000000000000000000=BE00000016
这里不同的下标代表不同的进制。
公式
在单精度时:
V=(-1)^s*2^(E-126)*M
在双精度时:
V=(-1)^s*2^(E-1022)*M
很久没有分享PhotonVPS的消息,最近看到商家VPS主机套餐有一些更新所以分享下。这是一家成立于2008年的国外VPS服务商,Psychz机房旗下的站点,主要提供VPS和独立服务器等,数据中心包括美国洛杉矶、达拉斯、芝加哥、阿什本等。目前,商家针对Cloud VPS提供8折优惠码,优惠后最低2G内存套餐每月4美元起。下面列出几款主机配置信息。CPU:1core内存:2GB硬盘:30GB NVm...
paypal贝宝可撸$10的代金券!这两天paypal出了活动,本次并没有其他的限制,只要注册国区的paypal,使用国内的手机号和62开头的银联卡,就可以获得10美元的代金券,这个代金券购买产品需要大于10.1美元,站长给大家推荐几个方式,可以白嫖一年的VPS,有需要的朋友可以看看比较简单。PayPal送10美元活动:点击直达活动sfz与绑定卡的号码可以重复用 注册的邮箱,手机号与绑的银联卡必须...
古德云(goodkvm)怎么样?古德云是一家成立于2020年的商家,原名(锤子云),古德云主要出售VPS服务器、独立服务器。古德云主打产品是香港cn2弹性云及美西cn2云服务器,采用的是kvm虚拟化构架,硬盘Raid10。目前,古德云香港沙田cn2机房及美国五星级机房云服务器,2核2G,40G系统盘+50G数据盘,仅35元/月起,性价比较高,可以入手!点击进入:古德云goodkvm官方网站地址古德...