浮点数
浮点数,是属于有理数中某特定子集的数的数字表示,在计算机中用以近似表示任意某个实数。具体的说,这个实数由一个整数或定点数(即尾数)乘以某个基数(计算机中通常是2)的整数次幂得到,这种表示方法类似于基数为10的科学计数法。
步骤
1.将十进制数转换成二进制数
十进制浮点数,整数部分转换成二进制,采用除2取余法,将余数从低到高排列,即为整数的二进制数;
小数部分转换成二进制,采用乘2取整法,将取整数顺序排列,即为小数的二进制数。
小数部分乘2直到小数部分为0,或取到想要的位数,或循环出现前。
2.移动小数点到第1、2位之间,得e的值
3.求出符号位S、阶码E、尾数M的值
(摘自https://www.cnblogs.com/oxspirt/p/7234024.html)
例如
5.75
N(2)=101.11 右移2位后得1.0111*2^2
S=0 e=2 E=10000001 M=01110000000000000000000
5.75:0 10000001 01110000000000000000000
161.875
N(2)=10100001.111 右移7位后得1.0100001111*2^7
S=0 e=7 E=10000110 M=01000011110000000000000
161.875:0 10000110 01000011110000000000000
-0.0234375
小数部分N(2)=0.0000011 左移6位后得1.1000000*2^-6
S=1 e=6 E=01111001 M=10000000000000000000000
-0.0234375:1 01111001 10000000000000000000000