十进制转换成二进制的时候,如果不用计算器是一件很麻烦的事情,需要不断地除以二然后在计算结果,这是一件很浪费时间的算法,现在我就告诉你们一种最简洁的算法;
例1:把十进制133转换成二进制;
先计算133由多少个2,4,8,16,32,64····相加所得,133=128+4+1 然后开始进行巧妙地运算,133由一个128一个4一个2相加所得,有没有发现这里面没有2,8,16,32?没有就对了哈哈!现在开始转换了,注意了,先从2开始,(133=128+4+2)中没有2,我们就记作0,里面有一个4,我们记1,里面没有8,16,32,64,我们需要记4个0,里面有一个128,我们再记1,然后把这些连到一起就是1100010,到了这里还没有完,下面也就是需要我们注意的事项,因为133转换成二进制是八位,我们需要在最后一位补0加1,把我们刚才得到的结果反过来然后在最后一位补0加1就变成了10000101,这就是正确的答案。
133=1*1+2*0+4*1+8*0+16*0+32*0+64*0+128
1 0 1 0 0 0 0 1
反过来就是正确答案:10000101
例2:把十进制78转换成二进制;
用刚才的方法计算一下:
78=1*0+2*1+4*1+8*1+16*0+32*0+64*1
0 1 1 1 0 0 1
反过来就是正确答案:1001110
在转换的时候需要注意的事项:
1、计算加法的时候一定要从最大的开始算起,比如133,构成133最大的一个数是128,所以就从128开始。
2、位数问题:0~1 1位;
2~3 2位;
4~7 3位;
8~15 4位;
15~31 5位;
32~63 6位;
64~127 7位;
128~255 8位;
用了这种方法是不是简单多了!哈哈!