第一种方法:短除法
例如:将123 转化为二进制
短除法转二进制要求对2倒取余,因此转化为结果为:111011
第二种方法:幂方和
十进制数按照幂方和转化十进制过程如下:
123 = 1*10^2 + 2*10^1 + 3*10^0
= 100 + 20 + 3
= 123
二进制与十进制类似,转化十进制过程如下:
1001110 = 1*2^6 + 0*2^5 + 0*2^4 + 1*2^3 + 1*2^2 + 1*2^1 + 0*2^0
= 64 + 0 + 0 + 8 + 4 + 2 + 0
= 78
将上述二进制倒过来就是十进制转二进制的方法了!
78 = 64 + 14
= 64 + 8 + 6
= 64 + 8 + 4 + 2
= 2^6 + 2^3 + 2^2 + 2^1
= 1001110
将78每次都拆出最接近的2的次方项,直到完全拆完为止,出现的次方项写为1,没有出现的写为0,即为十进制转二进制的过程,此方法需要注意掌握2的次方项以及快速心算的能力。
10进制怎么转16进制的步骤有:
1.首先,根据图中的这种格式,要转换的数字和除以16得到的商和余数被填在相应的位置。例如我们要将7692转换成十六进制,就将7692除以16,得到商为480,余数为12,将7692、480、12填到对应的地方,如图所示。
2.然后,我们按照第2步做同样的操作,一步一步的,把它写在格式里。直到最后的数字小于16,如图所示,最后是1,最后,再将1除以16,得到商为0,余数为1,当商为0时,就表示转换结束了余数。
3.在十六进制中,十进制中的O~9仍然是十六进制中的O~9;而十进制中的10~15在十六进制中则表示为A~F。通过上述过程,我们依次得到12、0、14、1四个残差,在十六进制中为C、0、E、1。将C、0、E、1依次写到对应的余数旁边,如图所示,从下往上看,则依次是1、E、0、C。这就表示,十进制的7692就等于16进制中的1EOC,7692=1EOCH,在1EOC后面加个H,就表示它是16进制的数。
十进制转二进制公式:abcd.efg(2)=d*2⁰+c*2¹+b*2²+a*2³+e*2⁻¹+f*2⁻²+g*2⁻³(10)。
将一个十进制数除以二,得到的商再除以二,依次类推直到商等于一或零时为止,倒取除得的余数,即换算为二进制数的结果。只需记住要点:除二取余,倒序排列。
由于计算机内部表示数的字节单位都是定长的,以2的幂次展开,或者8位,或者16位,或者32位....。于是,一个二进制数用计算机表示时,位数不足2的幂次时,高位上要补足若干个0。
举例:
如:255(十进制)=11111111(二进制)
255/2=127=====余1
127/2=63======余1
63/2=31=======余1
31/2=15=======余1
15/2=7========余1
7/2=3=========余1
3/2=1=========余1
1/2=0=========余1
如:789=1100010101
789/2=394.5 =1 第10位
394/2=197 =0 第9位
197/2=98.5 =1 第8位
98/2=49 =0 第7位
49/2=24.5 =1 第6位
24/2=12 =0 第5位
12/2=6 =0 第4位
6/2=3 =0 第3位
3/2=1.5 =1 第2位
1/2=0.5 =1 第1位
以上内容参考 百度百科-十进制转二进制
一、十进制转换为二进制;比如
10进制的15转换2进制:
用15除以2,商为7,余数为1,
再用7除以2,商为3,余数为1,
再用3除以2,商为1,余数为1,
再用1除以2,商为0,余数为1,
最后吧余数倒过来排列就为二进制的1111(即商为0时的1,商为1时的1,商为3时的1,商为7时的1)
二、二进制转十进制
1.以二进制的1111转十进制为例:
2.把二进制的1111看成是十进制的1111即1*10^3+1*10^2+1*10^1+1
3.然后把10变成2,即1*2^3+1*2^2+1*2^1+1=15
十六进制转换成十进制的具体算法是:
1、首先明白16进制数(从右到左数是第0位,第1位,第2位……)的第0位的权值为16的0次方,第1位的权值为16的1次方,第2位的权值为16的2次方,依次这样排列下去。
2、明白ABCDEF表示的二进制数字分别是10,11,12,13,14,15。
3、十六进制转换成十进制的公式是:要从右到左用二进制的每个数去乘以16的相应次方,然后这些数字相加就是了。
例1:
2AF5换算成10进制:
第0位:5*16^0=5
第1位:F*16^1=15*16^1=240
第2位:A*16^2=10*16^2=2560
第3位:2*16^3=8192结
果就是:5*16^0+15*16^1+10*16^2+2*16^3=10997
例2:CE换算成10进制:
第0位:E*16^0=14*16^0=14
第1位:C*16^1=12*16^1=192
结果就是:14*16^0+12*16^1=206
进制转换的理论
1、 二进制数、十六进制数转换为十进制数:
用按权展开法把一个任意R 进制数a n a n-1 ...a1a 0 . a -1 a -2...a -m转换成十进制数,其十进制数值为每一位数字与其位权之积的和。
a n ×Rn+ a n-1×R n-1 +…+ a 1×R 1 + a 0×R 0 + a -1 ×R -1+ a -2×R -2+ …+ a -m ×R -m
2、 十进制转化成R 进制十进制数轮换成R 进制数要分两个部分:整数部分要除R 取余数,直到商为0,得到的余数即为二进数各位的数码,余数从右到左排列(反序排 列) 。小数部分要乘R 取整数,得到的整数即为二进数各位的数码,整数从左到右排列(顺序排列) 。
3、十六进制转化成二进制:每一位十六进制数对应二进制的四位,逐位展开。
4、 二进制转化成十六进制:将二进制数从小数点开始分别向左(对二进制整数)或向右(对二进制小数)每四位组成一组,不足四位补零。