求类似于-105.84375的十进制转换成二进制的计算方式,符号位用0或1表示
首先你要了解,这个数字本身包含了小数部分,所以要用二进制浮点数的形式来表示。
我们先把-105.84375换算为二进制:
整数部分除二反余法:
105÷2=52余1;52÷2=26余0;26÷2=13余0;……3÷2=1余1;1÷2=0余1。余数倒序排列,得到:1101001。
小数部分乘二取整法:
0.84375×2=1.6875整1;0.6875×2=1.375整1;……0.5×2=1。整部顺序排列,得到0.11011。
拼在一起宏氏型,-105.84375对应的二进制数就是:-1101001.11011。
按照IEEE-754的要求,浮点数都要表示成 1.x × 2的若干次方形式,所以刚才算出的二进制数要把小数点左移6位,变成:-1.10100111011×2的6次方。其中小数点后面的 10100111011 称为尾数;“6次方”要转换为移码,6+127=133,用二进制表示为10000101,称为阶码;最好要记得这是个负数,所以符号位为核毁1。
好了,把所有这些拼在一起,就得到-105.84375的浮点数二进制为:1 1000 0101 1010 0111 011 0000 0000 0000(后面补齐到32位),蔽猜也就是0xC2D3B000。
2022-05-15 广告