十进制浮点数转IEEE754标准的32浮点数的二进制格式

十进制浮点数转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

检验一下:

 

posted @ 2022-09-18 12:55  20221313陆玉  阅读(4254)  评论(0编辑  收藏  举报