十进制与二进制相互转换
一.10转2进制
1.除2取余法。将十进制数n除以2,余数(0或1)记下来,然后再把商除以2,再记下余数,以此
类推,直到除得的商为0,这时把记下的余数倒过来写,就得到相应的2进制码了。
以数11为例
11 / 2 = 5 ....... 1
5 / 2 = 2 ....... 1
2 / 2 = 1 ........ 0
1 / 2 = 0 ........ 1 商为0终止
这时候将余数倒过来写,就是1011,即得到了11相应的二进制数
2.如果有小数点的话,小数部分用乘2取整法。
例如 0.625~~~0.625*2=1.25 取1 --->再取小数部分 0.25*2=0.5 取0--->再取小数部分 0.5*2=1 --->取1~~完毕~
所以2进制表示就是0.101
3.还有一种方法就是,比如:十进制123 转换成二进制:
128 64 32 16 8 4 2 1
0 0 0 0 0 0 0 0
0 1 1 1 1 0 1 1
用减好理解一些
因为123比128小,所以取0 ,
比64要大所以取1,减64后为59,
比32还大所以再取1,再减得27
比16还大,所以又取1,再减得11,
比8大,取1,减得3;
比4小为0,
比2大为1,减得1,
最后等于1,
二.2转10进制
1. 二进制的1101转化成十进制
1101(2)=1*2^0+0*2^1+1*2^2+1*2^3=1+0+4+8=13 转化成十进制要从右到左用二进制的每个数去乘以2的相应次方
2.本人有个更直接的方法,例如二进制数1000110转成十进制数可以看作这样: 数字中共有三个1 即第二位一个,第三位一个,第七位一个,
然后十进制数即2的2-1次方+2的3-1次方+2的7-1次方即2+4+64=70 次方数即1的位数减一。
3. 2的2次方是4 2的3次方是8 2的4次方是16 2的5次方是32 2的6次方是64 2的7次方是128 2的8次方是256 2的9次方是512
2的10次方是1024 2的11次方是2048 2的12次方是4096 2的13次方是8192 2的14次方是16384 2的15次方是32768