内容正文:
电路A/D和D/A转换
2023/7/3
当和数大于9(1001)或产生进位时,需对和数本位加6(0110)修正;反之,当和数小于或等于9时,无需修正。
BCD码相加时采用二进制数相加时的进位原则,四位二进制数是“逢十六进一”,十进制数相加的进位原则是“逢十进一”,两者相差6。因此,按二进制数运算规则得到的BCD码运算结果需要修正。加法运算的修正方法是:
例试分别写出+49和-49的二进制原码、
反码和补码。设码长为8位。
[+49]原=00110001 ,[+49]反=00110001 ,
[+49]补=00110001
[-49]原=10110001 , [-49]反=11001110 ,
[-49]补=11001111
带符号数的存放方法
四位带符号数的原码、反码
和补码
十进制 二进制码
原码 反码 补码
+7 0111 0111 0111
+6 0110 0110 0110
+5 0101 0101 0101
+4 0100 0100 0100
+3 0011 0011 0011
+2 0010 0010 0010
+1 0001 0001 0001
+0 0000 0000 0000
-0 1000 1111 -
-1 1001 1110 1111
-2 1010 1101 1110
-3 1011 1100 1101
-4 1100 1011 1100
-5 1101 1010 1011
-6 1110 1001 1010
-7 1111 1000 1001
-8 - - 1000
原码: -(2n-1-1) ~+(2n-1-1)
反码: -(2n-1-1) ~+(2n-1-1)
补码: -2n-1 ~+(2n-1-1)
n 位带符号二进制数码可以
表示的数值范围:
例 用反码运算求26-21
[26]反 = 00011010
[-21]反 = 11101010
[26-21]反 = 00000101
[26-21]原 = 00000101
26-21= 5
问题
用反码运算求21-26。
2. 补码运算
和反码运算相似,但最高位的进位直接丢失。
[26]补 = 00011010
[-21]补 =11101011
例1-2-4 用补码运算求26-21
[26-21]补 = 00000101
[26-21]原 = 00000101
26-21= 5
符号位的进
位自动丢失
[21]补= 00010101
[-26]补=11100110
例 用补码运算求21-26
[26-21]补 = 11111011
[26-21]原 = 10000101
21-26= -5
补码加法器框图
3. 溢出
符号相同的两数相加,可能溢出。若计算结果的最高位进位和符号位不相等,则产生了溢出,计算结果是错误的。
5+3 溢出
(-7)+(-2) 溢出
5+2
不溢出
(-7)+(-1) 不溢出
二—十进制码
二—十进制码: 用二进制码表示十进制的各个数
符,简称BCD(Binary Coded
Decimal)码,至少要4位二进制
码表示。四位二进制码共有16个
不同的代码,要从16个代码中选
出10个表示十进制数符,则共有
编码方案。
十进制数 8421 2421 631-1 余3码 格雷码 5中取2码 左移码
0 0000 0000 0011 0011 0010 00011 00000
1 0001 0001 0010 0100 0110 00101 10000
2 0010 0010 0101 0101 0111 00110 11000
3 0011 0011 0111 0110 0101 01001 11100
4 0100 0100 0110 0111 0100 01010 11110
5 0101 1011 1001 1000 1100 01100 11111
6 0110 1100 1000 1001 1101 10001 01111
7 0111 1101 1010 1010 1111 10010 00111
8 1000 1110 1101 1011 1110 10100 00011
9