十进制浮点数转IEEE754标准的32浮点数的二进制格式
在IEEE754标准中,float所占的32位分为符号位(S)1位、阶码(E)8位、尾数(M)23位。
符号位为1、0两种,1表示正数,0表示负数。
阶码这里会有一个127的偏移量。将十进制数表示为二进制数后,转化为小于2的数乘2的n次方形式,将127与指数n相加后,转换为二进制,得到的二进制数即为阶码。
尾数即为小数点后的数,位数不足23位,则加0凑成23位。
1.十进制5.75
转化为二进制:101.11,进而转化为1.0111*2^2,127+2=129,E=10000001,S=1,其IEEE754标准的32浮点数的二进制格式为0 10000001 01110000000000000000000
2.十进制161.875
转化为二进制:10100001.111,进而转化为1.0100001111*2^7,127+7=134,E=10000110,S=1,其IEEE754标准的32浮点数的二进制格式为0 10000110 01000011110000000000000
3.十进制-0.0234375
转化为二进制:-0.0000011,进而转化为-1.1*2^(-6),127-6=121,E=01111001,S=0,其IEEE754标准的32浮点数的二进制格式为1 01111001 10000000000000000000000
检验一下:
标签:二进制,32,浮点数,IEEE754,127,十进制 From: https://www.cnblogs.com/lu-yu/p/16697568.html