Digital Circuit Unit 1 Number Systems and Conversions (第一讲) Number Systems and Conversions Contents Number systems and conversion数制和转换 Binary arithmetic二进制算术 Representation of negative numbers负数的表达 Addition of two’s complement numbers Addition of one’s complement numbers Binary codes二进制编码 Reading Unit 1.2~1.5 数制 数制: ① 计数的规则表示数的符号在不同的位置上时所代表的数的值是不同的 ②从低位向高位的进位规则 Number Systems Positional notation位置标记 : Each digit is multiplied by an appropriate power幂值 of base 基数 depending on its position in the number. The point separates the positive and negative powers of base A positive number N with base (radix) R (positive integer, R>1): N = (a4a3a2a1a0.a-1a-2a-3)R = a4xR4+a3xR3+a2xR2+a1xR1+a0xR0+a-1xR-1+a-2xR-2+a-3xR-3 Base is also called radix Base is indicated as subscript 数字符号 ( digit) : 0,1,2, •••,9 计数规则:逢十进一。
计数基数 ( base) : 10 权 ( weight) : 10的幂 ( power) 如: ( 143.75)10=1102+4 101+3 100+7 10- 1 + 5 10- 2 1.十进制 一般式: D= ki × 10i 2. 二进制 数字符号: 0、 1 计数规则:逢二进一 基数: 2 权: 2的 幂次 一般式: N2= bi 2i 如: (101.11)2=(122+0 21+1 20+1 2-1+1 2-2)10=(5.75)10 3. 八进制 数字符号: 0~7 计数规则:逢八进一 基数: 8 权: 8的幂 如 : (37.41)8 =( 3× 81+7× 80+4× 8-1+ 1× 8- 2)10= (31.5156)10 一般式: D= ki 8i 4. 十六进制 数字符号: 0~9、 A、 B、 C、 D、 E、 F 计数规则:逢十六进一 基数: 16 权: 16的幂 一般式: D= ki 16i 如: (DFC.8)16=(D162+F 161+C 160+8 16-1)10 =(13162+15 161+12 160+8 16-1)10 =(3580.5)10 几种常用的数制 十进制,二进制,八进制,十六进制 二进制与十进制之间的转换 110.112 10210122)75.6 25.05.0024 2121202121( 1 1 0 .1 1 )(- 十进制转换成其他进制 — 整数部分 (1). 整数的转换 : 采用“ 除基取余 ”法,直至商为 0. 例: (65)10= ( ? )2 (65)10= (1000001 )2 低位 高位 2 32 2 16 65 2 余 1(a0) 余 0(a1) 2 8 4 2 2 2 1 2 0 余 0(a2) 余 0(a3) 余 0(a4) 余 0(a5) 余 1(a6) Convert 5310 to binary Problem Answer 最高有效位 Most Significant Bit 最低有效位 Least Significant Bit 十进制转换成其他进制 — 小数部分 (2). 小数的转换 : 采用“乘基取整”法,直到小数部分为0. 例:求 ( 0.3125) 10 =( ? ) 2 ∴ ( 0.3125) 10 =( 0.0101) 2 解: ∵ 0.3125 × 2 = 0.625 ………… 整数为 0 ( a- 1) 0.625 × 2 = 1.25 ………… 整数为 1 (a- 2) 0.25 × 2 = 0. 5 ………… 整数为 0 (a- 3) 0. 5 × 2 = 1.0 ………… 整数为 1 ( a- 4) 0.710 Problem 任意进制之间转换 反之,亦然 观察 二进制与八 ,十六进制间的转换 十 - 十六转换的做法 ?? 将十进制数 (215)10转换为十六进制数 先把 (215)10转换成等值的二进制数 0112132062113202621532110721215276543210kkkkkkkk=余数==余数==余数==余数==余数==余数==余数==余数=∟ ∟ ∟ ∟ ∟ ∟ ∟ ∟ 210 )11010111()215( 即然后将其转换为对应的十六进制数 (D7)H Representation of Negative Numbers 负数的表示 1. 正负数的表示方法 :原码 最高位为符号位( 0为正, 1为负) +53 = ( 0 110101) 原码 -53 = ( 1 110101) 原码 Representation of Negative Numbers 例:设机器码长度为 8,则: 1. ( 11110110) 原码 =( ?) 真值 因为是原码,去掉符号位后直接将数值部分转换为十进制数 ( 1110110) 2=( 64+ 32+ 16+ 4+ 2) 10=( 118) 10 符号位为 1,说明为负数, 所以 :( 11110110) 原码 =(- 118) 真值 2. 正负数的表示方法 :反码 按位取反 原码数值 反码( 1‘ s complement) ( 11110110) 反码 =( ?) 真值 先将反码转换成原码 —— 符号位不变,数值部分按位取反 , ( 11110110) 反码 =( 10001001) 原码 按 1中步骤将该原码转换为十进制数:( 10001001) 原码 =(- 9) 真值 最高位为符号位( 0为正, 1为负) 正数的反码和它的原码相同 负数 : 2. 正负数的表示方法 :补码 按位取反加 1 原码数值 补码数值 ( 2’s complement ) ( 11110110) 补码 =( ?) 真值 先将补码转换为原码,再求其所对应的十进制数 ( 11110110) 补码 =(- 10) 真值 最高位为符号位( 0为正, 1为负) 正数的补码和它的原码相同 负数 : 二进制补码运算 • 最高位为符号位( 0为正, 1为负) • 正数的补码和它的原码相同 • 负数的补码 = 数值位逐位求反 (反码 ) + 1 +5 = ( 0 0101) -5 = ( 1 1011) 采用补码相加的方法实现带符号数的加法运算 两个补码表示的二进制数相加时的符号位讨论 例:试用二进制补码计算 14+ 9、 14- 9、- 14+ 9、- 14- 9 010011101111100101239141101110100101001015914001010101111011100591410111001001001110023914结论:将两个加数的符号位和数值部分产生的进位相加,得到的就是两个加数代数和的符号位。
如果产生负加负得正,或者正加正得负的结果,则表示位数溢出 解: 编码 Binary Codes Although most large computers work internally with binary numbers, the input-output equipment generally uses decimal numbers. Because most logic circuits only accept two-valued signals, the decimal numbers must be coded in terms of binary signals. 我们为什么要编码? 计算机用二进制工作 输入输出系统却是十进制 逻辑电路只有二值信号 可以把十进制数编码成二进制表示( 较简单 ) Binary Codes 有权码 Weighted Codes Each position in the code has a specific weight Decimal value of code can be determined 无权码 Unweighted Codes Positions of code do not have a specific weight Decimal value assigned to each code In the simplest form of binary code, each decimal digit is replaced by its binary equivalent. E.g. 937.25 is represented by: Binary Coded Decimal 8421 code D e c i m a l D i g i t 8 - 4 - 2 - 1 C o d e (BC D ) 6 - 3 - 1 - 1 C o d e E x c e s s - 3 C o d e 2 - out - of - 5 C o d e G r a y C o d e 0 0000 0000 0011 00011 0000 1 0001 0001 0100 00101 0001 2 0010 0011 0101 00110 0011 3 0011 0100 0110 01001 0010 4 0100 0101 0111 01010 0110 5 0101 0111 1000 01100 1 110 6 0110 1000 1001 10001 1010 7 0111 1001 1010 10010 1011 8 1000 1011 1011 10100 1001 9 1001 1100 1100 11000 1000 Binary Codes 有权码 无权码 @n。