当前位置:文档之家› 二进制数和十进制数的相互转换

二进制数和十进制数的相互转换

回答:
二进制数第0位的权值是2的0次方,第1位的权值是2的1次方……所以,设有一个二进制数:0110 0100,转换为10进制为:
下面是竖式:
0110 0100 换算成十进制
第0位 0 * 20 = 0
第1位 0 * 21 = 0
第2位 1 * 22 = 4
第3位 0 * 23 = 0
第4位 0 * 24 = 0
第5位 1 * 25 = 32
第6位 1 * 26 = 64
第7位 0 * 27 = 0 +
---------------------------
100
用横式计算为:
0 * 20 + 0 * 21 + 1 * 22 + 1 * 23 + 0 * 24 + 1 * 25 + 1 * 26 + 0 * 27 = 100
0乘以多少都是0,所以我们也可以直接跳过值为0的位:
1 * 2
2 + 1 * 2
3 + 1 * 25 + 1 * 26 = 100
将一个十进制数(D)装换成r进制数,其整数部分与小数部分是不一样的,需要分别转换:
整数部分:除r取余数。

即用整数部分不断地除以r,取其余数,直到商为0.余数按反向排列。

小数部分:乘r取整。

即用小数部分不断地乘以r取整数,直到小数部分积大于1.整数依序排列在小数点右边。

十进制换成二进制(B),将上面规则中r换成2就好。

r还可以有八进制(O)的8 十六进制(H)的16
小数部分可能较为难理解,例如:将(100.345)D转换成二进制
100/2=50...0 50/2=25...0 25/2=12...1 12/2=6...0 6/2=3 0
3/2=1 (1)
0.345*2=0.690 0.690*2=1.380 0.380*2=0.760 0.760*2=1.520 0.520*2=1.04 则(100.345)D=(100100.01011)B。

相关主题