网站设计费用志,建的网站打开很慢,c2c网站的主要功能,福田住房和建设局官网IEEE754标准是一种浮点数表示标准#xff0c;一般分为
单精度#xff08;32位的二进制数#xff09;#xff1b;双精度#xff08;64位的二进制数#xff09;
根据国际标准IEEE754#xff0c;任意一个二进制浮点数V可以表示为下面形式#xff1a;
V (-1)^s *#…IEEE754标准是一种浮点数表示标准一般分为
单精度32位的二进制数双精度64位的二进制数
根据国际标准IEEE754任意一个二进制浮点数V可以表示为下面形式
V (-1)^s *1M* 2^(E-127)单精度V (-1)^s *1M* 2^(E-1023)双精度
其中E为阶码位M为尾数部分S为符号位
M: 1M2, 即M写成1.xxxxx形式 EEE 754规定计算机内部保存M它的第一位总是1因此可以只保存后面的xxxxxx部分。如1.001时尾数001需要读取时再把第一位的1加上去。这样做可以节省1位有效数字E无符号整数如果E为8位其取值范围为0~255若E为11位取值范围为0~2047 科学计数法中E可以是负数因此IEEE 754规定E的真实值必须再减去一个中间数对于8位的E这个中间数是127对于11位的E这个中间数是1023e.g. 2^10的E是10所以保存成32位浮点数时必须保存成10127137即10001001。特殊处理 E不全为0或1时浮点数就采用上面的规则表示即指数E的计算值减去127或1023得到真实值再将有效数字M前加上第一位的1E全为0时浮点数的指数E等于1-127或者1-1023有效数字M不再加上第一位的1而是还原为0.xxxxxx的小数。这样做是为了表示±0以及接近于0的很小的数字即V (-1)^s *M* 2^(1-127)E全为1时如果有效数字M全为0表示±无穷大正负取决于符号位s如果有效数字M不全为0表示这个数不是一个数NaN
下面以32bits的浮点数为例子 将十进制数0.15625转换为浮点数
1. 将对应数据逐步乘以2取整数部分 ⭘0.15625x20.3125 取整0 ⭘0.31250x20.6250 取整0 ⭘0.62500x21.2500 取整1 ⭘0.25000x20.5000 取整0 ⭘0.50000x21.0000 取整1 2. 将整数部分进行组合得到0.00101 3. 将得到的数表示成IEEE 754的格式0.001011.01*2-3 4. 将该数据与公式进行对比可以得出1.01*2**-3 (-1)s * (1M)*2**(E-127), 可以得出 ⭘s0; ⭘1M1.01, M0.01; ⭘E-127-3, E124; 124 BIN 0111 1100 5. 将上述的值填入到32bits的范围内可得 使用上面的方式转换十进制数-0.0625 DEC -0.0625 BIN -0.0001 -1.0*2-4 s1M1-10E-4 1271230111 1011 使用上面的方式转换十进制数127.1247
这个数可能在32bits范围内不能准确的表示出来因此需要进行截位
按照上面的公式整数部分127 0111_1111;
小数部分0.1247不断乘以2取整数部分00011111111011001..., 因为位数不够进行截断
转换成上面的公式可以得到M1.11111100011111111011001,E1276133, 所以转换后的浮点数为 附上IEEE 754在线转换工具 IEEE 754 浮点数 - 在线工具 (toolhelper.cn)