我是学计算机的一名学生,不求精湛,但求能回答我的问题,我很想弄清楚,因为考试的时候,我总不知道如何下手,所以,我希望可以得到肯定的回答,就算不是最好的,但也发表一下吧,因为毕竟我是生手,况且我还是这年,第一次提问呢,总希望有个好的开始吧,所以,希望尽量快点给我答复,在此先谢了!
需要准备的工具:纸,笔。
1、首先十进制的小数转换为二进制,主要是小数部分乘以2,取整数部分依次从左往右放在小数点后,直至小数点后为0。例如十进制的0.125,要转换为二进制的小数。
2、转换为二进制,将小数部分0.125乘以2,得0.25,然后取整数部分0。
3、再将小数部分0.25乘以2,得0.5,然后取整数部分0。
4、再将小数部分0.5乘以2,得1,然后取整数部分1。
5、最后则得到的二进制的结果就是0.001。
一个十进制数:ABC.DEF = A*10^2 + B*10^1 + C*10^0 + D*10^-1 + E*10^-2 + F*10^-3
一个二进制数:abc.def = a*2^2 + b*2^1 + c*2^0 + d*2^-1 + e*2^-2 + f*2^-3
这是不同进制的数值表示的根本。
例如:二进制数1101.01转化成十进制
1101.01(2)=1*20+0*21+1*22+1*23 +0*2-1+1*2-2=1+0+4+8+0+0.25=13.25
所以总结起来通用公式为:
abcd.efg(2)=d*20+c*21+b*22+a*23+e*2-1+f*2-2+g*2-3
十进制整数转换为二进制整数:采用"除2取余,逆序排列"法。
具体做法是:用2整除十进制整数,可以得到一个商和余数;再用2去除商,又会得到一个商和余数,如此进行,直到商为0时为止,然后把先得到的余数作为二进制数的低位有效位,后得到的余数作为二进制数的高位有效位,依次排列起来。
十进制小数转换成二进制小数:采用"乘2取整,顺序排列"法。
具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。
然后把取出的整数部分按顺序排列起来,先取的整数作为二进制小数的高位有效位,后取的整数作为低位有效位。