内容正文:
电路中数制之间的转换
电路中数制之间的转换
1. 十进制到二进制的转换
2. 二、八、十六进制之间的转换
3. 十进制到八、十六进制的转换
八进制
例1-1-3
(37.6)8 = (37.6)o
= 3×81+7×80+6×8-1=(31.75)10
八进制数含有0、1、2、3、4、5、6、7共 8个数符,其进位规则是“逢八进一”,记作(N)8或(N)O 。 8为基,8i称为第i位上的权。
O(Octal)
十六进制
例1-1-4
(B1F.8)16=(B1F.8)H
=11×162 + 1×161 + 15×160 + 8×16-1
=(2847.5)10
十六进制数含有0、1、2、…9、A、B、C、D、E、F共16个数符,其进位规则是“逢十六进一”,记作(N)16或(N)H。符号A~F分别代表十进制数10~15。十六进制的基数为16,16i称为第i位上的权。
1. 十进制到二进制的转换
将十进制整数除以2,取其余数作为二进制数的第0位,得到b0;
将上一步所得之商除以2,取余数作为二进制数的第1位b1;
重复(2),记下每一步所得之余数,直到商为0。
整数部分用基数除法,小数部分用基数乘法,
小数部分算到r位误差小于2-r。
基数除法的步骤为
例 将十进制数58转换为二进制数。
解: ∵ 2∣58 …………余0 b0
2∣29 …………余1 b1
2∣14 …………余0 b2
2∣7 …………余1 b3
2∣3 …………余1 b4
2∣1 …………余1 b5
0
∴(58)10 =(111010)2
重复上一步,记下每一步所得积的整数部分b-3、
b-4、…,直到小数部分为零;或者虽然乘积的小数
部分不为零,但二进制纯小数的位数已能满足所要
求的转换精度,此时两者之间的转换存在着一定误
差。
基数乘法的步骤为
将待转换的十进制纯小数乘以2,取乘积的整数部
分作为二进制纯小数的最高位b-1;
将上一步乘积的小数部分再乘以2,取乘积的整数
部分作为二进制纯小数的次高位b-2;
例 将十进制数0.625转换为二进制数。
解:
∵0.625 × 2 = 1.250 ………… 整数为1 b- 1
0.25 × 2 = 0.5 ………… 整数为0 b- 2
0.5 × 2 = 1.0 ………… 整数为1 b- 3
∴(0.625)10 =(0.101)2
∴(58.625)10 = (111010.101)2
例 将十进制数0.71转换为六位二进制数。
解:
∵0.71 × 2 = 1.42 ………… 整数为1 b- 1
0.42 × 2 = 0.84 ………… 整数为0 b- 2
0.84 × 2 = 1.68 ………… 整数为1 b- 3
0.68 × 2 = 1.36 ………… 整数为1 b- 4
0.36 × 2 = 0.72 ………… 整数为0 b- 5
0.72 × 2 = 1.44 ………… 整数为1 b- 6
∴(0.71)10 =(0.101101)2
∵ 2-8≈0.0039 2-7 ≈0.0078
∴ 须转换至-8位。
若计算二进制小数至-L位,舍弃-(L+1)位,
则误差小于2-L。
结论
例1-1-7 将十进制数0.71转换为二进制数,
要求误差小于5‰
解:
2. 二-八-十六进制之间的转换
将二进制数转换成十六进制数的方法:二进制数转换成八进制数的方法类似,不同之处是分组时按每4位一组进行,最后每一组用16进制数代替。
将二进制数转换成八进制数的方法:从小数点向 左,把二进制整数按每三位一组从低位到高位分组;从小数点向右把小数部分每三位一组分组,不足三位的补零,最后将每一组用等值的八进制数代替即可。
(1100101.11)2
=(001 100 101.