十进制转换成二进制的时候,若是不用计算器是一件很麻烦的事情,须要不断地除以二而后在计算结果,这是一件很浪费时间的算法,如今我就告诉大家一种最简洁的算法;
例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
在转换的时候须要注意的事项:
一、计算加法的时候必定要从最大的开始算起,好比133,构成133最大的一个数是128,因此就从128开始。
二、位数问题:0~1 1位;
2~3 2位;
4~7 3位;
8~15 4位;
15~31 5位;
32~63 6位;
64~127 7位;
128~255 8位;
用了这种方法是否是简单多了!哈哈!算法