自己在网上搜索了教程如何将十进制的数转换为IEEE754浮点数
IEEE754单精度浮点数是一种规格化的浮点数,总共有32位,其中符号位(S)占1位,阶码(E)占8位,尾数(M)占23位。
将所需要转换的数先转为二进制数,然后有数字的正负决定符号位的数字,正为0、负为1,然后将二进制数规格化转为1.M的形式,小数点变动的位数为e(往前移为正,后为负),阶码E=127+e(代表十进制数),然后将阶码数E转为二进制数(要满足8位少了位数在最前面补0,M也要补满23位,少了在数字末补0),最后结果为SEM所代表的数的顺序排列如以下三个数。
5.75 S=0 ,E=129(十进制)=10000001(二进制),M=0111 0000 0000 0000 0000 000 最后结果:0 1000 0001 0111 0000 0000 0000 0000 000(下面同上)
161.875 S=0,E=134=10000110,M=0100 0011 1100 0000 0000 000 结果:0 1000 0110 0100 0011 1100 0000 0000 000
-0.0234375 S=1,E=121=01111001,M=1000 0000 0000 0000 0000 000 结果:1 0111 1001 1000 0000 0000 0000 0000 000