计算机中十进制转换为二进制的另一方法
“定位减权法”要求学者首先要熟悉
20
~
210
对应的十进制数值。
对应的十进制数值是基本要求。
记住了上述的数值后,我们就可以对任何一个十进制数值轻松的转换为二进制数值,其操作方法是:
1.根据给出的十进制数(记为D)确定其对应的范围,从而确定其对应的二进制数(记为B)的最高位的权2N,进而对所给的十进制数值转换为对应的二进制数值进行“定位”。
2.根据得到的二进制数值的最高位的权
2N,将二进制的权从高到低排列,直到
20 。
3.将给出的十进制数D按对应的二进制数的最高位权
2N开始,由高到低依次记为对应的系数,从而对所给的十进制数值转换为对应的二进制数值进行“减权”求值,以便得到最终的二进制数值。
求取对应的系数方法为:对“定位”得到的二进制数值的最高位权
2N,先将其对应的系数记为1。然后将给出的十进制数值D减去
2N所对应的十进制数值,查看其结果,并判断其是否大于或等于
2N
-1:如果是,则将
2N
-1对应的系数记为1;如果不是,则将
2N
-1对应的系数记为0,同时考虑下一个位权
2N
-1。按这样的方法从高到低查看每一位二进制数的位权,并对其积上系数,直到位权为
20时结束。
下面举例说明“定位减权法”的使用。例如,我们需要将十进制数100转换为对应的二进制数值,按“定位减权法”其操作方法如下:
1.确定100介于128和64之间,也就是介于27和26之间。因为100不足128,即不足27,但100已经大于64,即大于26,因此其对应的二进制数的最高位的权为,从而可以确定十进制数值100对应的二进制数值应该具有“7”位。
2.根据步骤1得知十进制数100对应的二进制数的最高位权为26,则十进制数100对应的二进制的位权由高到低的排列为:
26 25 24 23 22 21 20
3.对于步骤2给出的位权序列,首先对26对应的系数记为1,也就是对最高位的位权记为1;然后将100-64得到36,25对应的十进制数值为32,36大于32,因此对25对应的系数记为1;按此方法,36-32得4,24、23对应的十进制数分别是16、8,都大于4,因此其对应的系数记为0;22对应的十进制是4,等于得到的差的结果4,因此其对应的系数记为1;4-4得0,即21、20所对应的十进制数分别是2、1,都大于0,因此其对应的系数记为0。就此,就已经把十进制数100转换成二进制1100100。
26 25 24 23 22 21 20
. . . . . . .
. . . . . . .
. . . . . . .
1 1 0 0 1 0 0
综上所述,我们利用“定位减权法”完成了十进制对二进制的转换,通过上面的实例我们看出,这样的方法对于实现十进制对二进制的转换非常方便,同时避免了传统的“除2取余、所得余数倒着写”容易出现错误的几率,对于帮助学者学习计算机,实现进制之间的相互转换有着重要的作用。