数电 课件1
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
= 0000000001000001
2. 将得到的二进制码用 补足数 将得到的二进制码用0补足数 这里为15, 值位的位数 —— 这里为 , 得到: 得到: (65)10=(000000001000001 )2 )
4. 对负数来说,符号位(最高位)补1, 对负数来说,符号位(最高位) , 则: (-65) 的原码= (- )10 的原码=1000000001000001 (-65) 的反码= (- )10 的反码=1111111110111110 (-65) 的补码= (- )10 的补码=1111111110111111
1. 8421码是 码是BCD代码中最常用的一种。若把每一个代码都看成是一 代码中最常用的一种。 码是 代码中最常用的一种 个四位二进制数,各位的权依次为8, , , 。另外, 个四位二进制数,各位的权依次为 ,4,2,1。另外,每个代码 的数值恰好等于它所表示的十进制数的大小。 的数值恰好等于它所表示的十进制数的大小。 2. 2421BCD码也是一种有权码,它的另两个特点是:编码方案不唯 码也是一种有权码, 码也是一种有权码 它的另两个特点是: 如十进制数“ 可以编码为 可以编码为“ );0- 、 一(如十进制数“5”可以编码为“1011”或“0101”); -9、1 或 ); 等数字编码互为按位取反结果, -8、2-7等数字编码互为按位取反结果,这有助于十进制的运 、 - 等数字编码互为按位取反结果 算简化; 算简化; 3. 余3码被看成 位二进制数时,则它的数值要比它所表示的十进制 码被看成4位二进制数时 码被看成 位二进制数时, 数码多3。如果将两个余3码相加 码相加, 数码多 。如果将两个余 码相加,所得的和将比十进制数和所对 应的二进制数多6。因此,在用余3码作十进制加法运算时 码作十进制加法运算时, 应的二进制数多 。因此,在用余 码作十进制加法运算时,若两 数之和为10,正好等于二进制数的16, 数之和为 ,正好等于二进制数的 ,于是从高位自动产生进位 信号。 信号。 4. 余3循环码是一种无权码,其特点是:每两个相邻编码之间只有 循环码是一种无权码, 循环码是一种无权码 其特点是: 一位码元不同。这一特点使数据在形成和传输时不易出现错误; 一位码元不同。这一特点使数据在形成和传输时不易出现错误;
3. 八进制 八进制: 4. 十六进制 用0~9,A,B,C,D,E,F的组合表示一个数 十六进制: ~ , 的组合表示一个数
一般, 进制数用 进制数用H( );八进制数 一般,16进制数用 (Hexadecimal);八进制数 ); 十进制数用D( 用O(Octal);十进制数用 (Decimal);二进制数 ( ) 十进制数用 ) 二进制数 用B(Binary)表示。 ( )表示。
3. (11110110)补码=( ?)真值 )
对负数而言,数值部分相同的补码比反码小 , 对负数而言,数值部分相同的补码比反码小1,得: (11110110)补码=(- )真值 ) =(-10)
练习:先将补码转换为原码,再求其所对应的十进制数; 练习:先将补码转换为原码,再求其所对应的十进制数;
8位二进制数据 位二进制数据 00000000 00000001 00000010 …… 01111100 01111101 01111110 01111111 10000000 10000001 10000010 …… 11111100 11111101 11111110 11111111
补
码
+0 +1 +2 …… +124 +125 +126 +127 - 128 - 127 - 126 …… -4 -3 -2 -1
2. 原码、反码、补码的比较: 原码、反码、补码的比较:
(1) 原码表示法的优点是直观,但因为这种表示法表示的数据 ) 原码表示法的优点是直观, 符号位和数值位是不等同的,所以实现加减运算的规则比较复杂。 符号位和数值位是不等同的,所以实现加减运算的规则比较复杂。 - - 长度为N的原码表示的真 长度为 的原码表示的真 值范围为 -(2N-1-1) ~ +(2N-1-1)。 。 (2) 反码表示法将符号位和数值位等同看待,即符号位可以和 ) 反码表示法将符号位和数值位等同看待, 数值位一起参加运算,因此比原码表示法的运算规则简单。 数值位一起参加运算,因此比原码表示法的运算规则简单。但用反 码表示法表示的+0和 仍然是不同的。字长为N的反码表示的真 码表示法表示的+0和-0 仍然是不同的。字长为N的反码表示的真 - - 值范围同原码一样, 值范围同原码一样,为 -(2N-1-1) ~ +(2N-1-1)。 。 (3) 补码表示法是计算机中最普遍采用的数据表示方法。用补码 ) 补码表示法是计算机中最普遍采用的数据表示方法。 表示的数据符号位可以参与运算,从而可以使减法运算转换为加法 表示的数据符号位可以参与运算,从而可以使减法运算转换为加法 运算,简化了机器的运算器电路;同时,在补码表示法中, 的表 运算,简化了机器的运算器电路;同时,在补码表示法中,0的表 示形式是唯一的。不过在补码表示法中, 示形式是唯一的。不过在补码表示法中,负数的表示范围比正数的 表示范围要宽(能多表示一个最负的数)。字长为N的补码表示的 )。字长为 表示范围要宽(能多表示一个最负的数)。字长为 的补码表示的 - - 真值范围为 -(2N-1 ) ~ +(2N-1-1)。 。
§ 1.1.2 码 制
代码: 位二进制数码表示1 一、BCD代码:用4位二进制数码表示1位十进制 代码 数的0 9十个状态,称这些代码为二-十进制代码, 数的0~9十个状态,称这些代码为二-十进制代码, Decimal)代码 代码。 即BCD(Binary Coded Decimal)代码。 二、格雷码 三、字符编码
十进制编码: 一、二- 十进制编码:BCD码 码
1. BCD码的特点 码的特点
2. BCD码的种类 码的种类
常 用 的 几 种 BCD 码
十进 制数 8421 BCD码 码 2421 BCD码 码 5121 BCD码 码 余3码 码 余3 循环码
0 1 2 3 4 5 6 7 8 9
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
2. (11110110)反码=( ?)真值 )
先将反码转换成原码 —— 符号位不变,数值部分按位取,得: 符号位不变,数值部分按位取, (11110110)反码=(10001001)原码 ) ) 中步骤将该原码转换为十进制数: =(-9) 按1中步骤将该原码转换为十进制数:(10001001)原码=(- )真值 中步骤将该原码转换为十进制数
3. BCD码的存放:组合BCD码与非组合 码的存放:组合 码与非组合BCD码 码的存放 码与非组合 码
一位” 十进制数字而言的, 上述编码方式是针对 “一位” 十进制数字而言的,一个多位的十进制数与 相应的8421BCD码之间的转换关系如下例所示: 码之间的转换关系如下例所示: 相应的 码之间的转换关系如下例所示 3 0 9 1 十进制数: 十进制数: 对应的8421BCD码: 码 对应的 0011 0000 1001 0001
注意:如无特别说明,本课程中的 码一概指组合的8421BCD码。 注意:如无特别说明,本课程中的BCD码一概指组合的 码一概指组合的 码
二、格雷码(Gray) 格雷码(Gray) 格雷码的特点是: 格雷码的特点是:
任意两个相邻码组之间只有一位码原不同( 和最大 任意两个相邻码组之间只有一位码原不同(0和最大 数之间也只有一位不同), ),因此格雷码也称为循 数之间也只有一位不同),因此格雷码也称为循 环码;这种编码在形成和传输时不易出错; 环码;这种编码在形成和传输时不易出错; 最高位的0和 只改变一次 若以最高位的0和 的交 只改变一次。 最高位的 和1只改变一次。若以最高位的 和1的交 界为轴,其他低位的代码以此轴对称, 界为轴,其他低位的代码以此轴对称,利用这一 特点可以很容易地构成位数不同的格雷码; 特点可以很容易地构成位数不同的格雷码; 格雷码是一种无权码,不易直接进行运算, 格雷码是一种无权码,不易直接进行运算,但可以 很容易地与二进制进行换算; 很容易地与二进制进行换算; 格雷码有许多形式,如余3循环码等 循环码等; 格雷码有许多形式,如余 循环码等;
二、 数制间的转换 三、原码、反码和补码 原码、
1. 带符号数的原码、反码、补码 带符号数的原码、反码、
按位取反 按位取反加1 按位取反加
原码数值
反码
原码数值
补码数值
1. 带符号数的原码、反码、补码 带符号数的原码、反码、
按位取反 按位取反加1 按位取反加
原码数值
反码
原码数值
补码数值
的原码、 例1:设机器码长度为 ,求十进制数 +65、-65的原码、 :设机器码长度为16, 、 的原码 反码和补码。 反码和补码。
这样得到的BCD码在存放或处理时有两种格式: 码在存放或处理时有两种格式: 这样得到的 码在存放或处理时有两种格式 组合BCD码格式:每位十进制数字对应的BCD编码以四个二进制位来存放; 码格式:每位十进制数字对应的 编码以四个二进制位来存放; 组合 码格式 编码以四个二进制位来存放 (3091)10=( ) =(0011 0000 1001 0001)BCD ) 非组合 非组合BCD码格式:每位十进制数字对应的BCD编码以八个二进制位来存放, 码格式:每位十进制数字对应的 编码以八个二进制位来存放, 码格式 编码以八个二进制位来存放 其中低四位存放真正的BCD码,高四位根据具体应用的不同定义为不同的 其中低四位存放真正的 码 如无特殊要求,高四位通常为全0; 值 —— 如无特殊要求,高四位通常为全 ; ) (3091)10=( ) =(00000011 00000000 00001001 00000001)BCD
1. 2 先求( ) 先求(65)10=( ? )2 65 2 32 16 2 2 8 2 4 2 2 1 余1 余0 余0 余0 余0 余0 余1 3. 低位 对正数来说,符号位(最高位) 对正数来说,符号位(最高位)补0, , 且其原码=反码=补码, 且其原码=反码=补码,则: (+65) 的原码=反码= (+ )10 的原码=反码=补码
8 十六进制数 进 制 数 的 不 同反解 释 位 二 无符号十进制数 原 码 码
00H 01H 02H …… 7CH 7DH 7EH 7FH 80H 81H 82H …… FCH FDH FEH FFH 0 1 2 …… 124 125 126 127 128 129 130 …… 252 253 254 255 +0 +1 +2 …… +124 +125 +126 +127 -0 -1 -2 …… - 124 - 125 - 126 - 127 +0 +1 +2 …… +124 +125 +126 +127 - 127 - 126 - 125 …… -3 -2 -1 -0
第一章 逻辑代数基础
§ 1.1 数制和码制 § 1.1.1 数制
一、常用的数制 1. 十进制 十进制:2. 二进制 用0,1的组合表示一个数,逢 二进制: , 的组合表示一个数 的组合表示一个数,
二进一 D=∑Ki×2i ∑ 例:1101.101B=1 ×23 + 1 ×22 + 0 ×21 + 1 ×20 + 1 ×2-1 + 0 ×2-2 + 1 ×2-3=13.625D
例2:设机器码长度为 ,则: :设机器码长度为8,
1. (11110110)原码=( ?)真值 )
因为是原码,去掉符号位后直接将数值部分转换为十进制数据: 因为是原码,去掉符号位后直接将数值部分转换为十进制数据: (1110110)2=( +32+16+4+2)10=( )10 ) =(64+ + + + ) =(118) 符号位为1,说明为负数,所以:( :(11110110)原码=(- )真值 符号位为 ,说明为负数,所以:( ) =(-118)
0000 0001 0ຫໍສະໝຸດ Baidu10 0011 0100 1011 1100 1101 1110 1111
0000 0001 0010 0110 0111 1000 1001 1010 1011 1111
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
0010 0110 0111 0101 0100 1100 1101 1111 1110 1010
2. 将得到的二进制码用 补足数 将得到的二进制码用0补足数 这里为15, 值位的位数 —— 这里为 , 得到: 得到: (65)10=(000000001000001 )2 )
4. 对负数来说,符号位(最高位)补1, 对负数来说,符号位(最高位) , 则: (-65) 的原码= (- )10 的原码=1000000001000001 (-65) 的反码= (- )10 的反码=1111111110111110 (-65) 的补码= (- )10 的补码=1111111110111111
1. 8421码是 码是BCD代码中最常用的一种。若把每一个代码都看成是一 代码中最常用的一种。 码是 代码中最常用的一种 个四位二进制数,各位的权依次为8, , , 。另外, 个四位二进制数,各位的权依次为 ,4,2,1。另外,每个代码 的数值恰好等于它所表示的十进制数的大小。 的数值恰好等于它所表示的十进制数的大小。 2. 2421BCD码也是一种有权码,它的另两个特点是:编码方案不唯 码也是一种有权码, 码也是一种有权码 它的另两个特点是: 如十进制数“ 可以编码为 可以编码为“ );0- 、 一(如十进制数“5”可以编码为“1011”或“0101”); -9、1 或 ); 等数字编码互为按位取反结果, -8、2-7等数字编码互为按位取反结果,这有助于十进制的运 、 - 等数字编码互为按位取反结果 算简化; 算简化; 3. 余3码被看成 位二进制数时,则它的数值要比它所表示的十进制 码被看成4位二进制数时 码被看成 位二进制数时, 数码多3。如果将两个余3码相加 码相加, 数码多 。如果将两个余 码相加,所得的和将比十进制数和所对 应的二进制数多6。因此,在用余3码作十进制加法运算时 码作十进制加法运算时, 应的二进制数多 。因此,在用余 码作十进制加法运算时,若两 数之和为10,正好等于二进制数的16, 数之和为 ,正好等于二进制数的 ,于是从高位自动产生进位 信号。 信号。 4. 余3循环码是一种无权码,其特点是:每两个相邻编码之间只有 循环码是一种无权码, 循环码是一种无权码 其特点是: 一位码元不同。这一特点使数据在形成和传输时不易出现错误; 一位码元不同。这一特点使数据在形成和传输时不易出现错误;
3. 八进制 八进制: 4. 十六进制 用0~9,A,B,C,D,E,F的组合表示一个数 十六进制: ~ , 的组合表示一个数
一般, 进制数用 进制数用H( );八进制数 一般,16进制数用 (Hexadecimal);八进制数 ); 十进制数用D( 用O(Octal);十进制数用 (Decimal);二进制数 ( ) 十进制数用 ) 二进制数 用B(Binary)表示。 ( )表示。
3. (11110110)补码=( ?)真值 )
对负数而言,数值部分相同的补码比反码小 , 对负数而言,数值部分相同的补码比反码小1,得: (11110110)补码=(- )真值 ) =(-10)
练习:先将补码转换为原码,再求其所对应的十进制数; 练习:先将补码转换为原码,再求其所对应的十进制数;
8位二进制数据 位二进制数据 00000000 00000001 00000010 …… 01111100 01111101 01111110 01111111 10000000 10000001 10000010 …… 11111100 11111101 11111110 11111111
补
码
+0 +1 +2 …… +124 +125 +126 +127 - 128 - 127 - 126 …… -4 -3 -2 -1
2. 原码、反码、补码的比较: 原码、反码、补码的比较:
(1) 原码表示法的优点是直观,但因为这种表示法表示的数据 ) 原码表示法的优点是直观, 符号位和数值位是不等同的,所以实现加减运算的规则比较复杂。 符号位和数值位是不等同的,所以实现加减运算的规则比较复杂。 - - 长度为N的原码表示的真 长度为 的原码表示的真 值范围为 -(2N-1-1) ~ +(2N-1-1)。 。 (2) 反码表示法将符号位和数值位等同看待,即符号位可以和 ) 反码表示法将符号位和数值位等同看待, 数值位一起参加运算,因此比原码表示法的运算规则简单。 数值位一起参加运算,因此比原码表示法的运算规则简单。但用反 码表示法表示的+0和 仍然是不同的。字长为N的反码表示的真 码表示法表示的+0和-0 仍然是不同的。字长为N的反码表示的真 - - 值范围同原码一样, 值范围同原码一样,为 -(2N-1-1) ~ +(2N-1-1)。 。 (3) 补码表示法是计算机中最普遍采用的数据表示方法。用补码 ) 补码表示法是计算机中最普遍采用的数据表示方法。 表示的数据符号位可以参与运算,从而可以使减法运算转换为加法 表示的数据符号位可以参与运算,从而可以使减法运算转换为加法 运算,简化了机器的运算器电路;同时,在补码表示法中, 的表 运算,简化了机器的运算器电路;同时,在补码表示法中,0的表 示形式是唯一的。不过在补码表示法中, 示形式是唯一的。不过在补码表示法中,负数的表示范围比正数的 表示范围要宽(能多表示一个最负的数)。字长为N的补码表示的 )。字长为 表示范围要宽(能多表示一个最负的数)。字长为 的补码表示的 - - 真值范围为 -(2N-1 ) ~ +(2N-1-1)。 。
§ 1.1.2 码 制
代码: 位二进制数码表示1 一、BCD代码:用4位二进制数码表示1位十进制 代码 数的0 9十个状态,称这些代码为二-十进制代码, 数的0~9十个状态,称这些代码为二-十进制代码, Decimal)代码 代码。 即BCD(Binary Coded Decimal)代码。 二、格雷码 三、字符编码
十进制编码: 一、二- 十进制编码:BCD码 码
1. BCD码的特点 码的特点
2. BCD码的种类 码的种类
常 用 的 几 种 BCD 码
十进 制数 8421 BCD码 码 2421 BCD码 码 5121 BCD码 码 余3码 码 余3 循环码
0 1 2 3 4 5 6 7 8 9
0000 0001 0010 0011 0100 0101 0110 0111 1000 1001
2. (11110110)反码=( ?)真值 )
先将反码转换成原码 —— 符号位不变,数值部分按位取,得: 符号位不变,数值部分按位取, (11110110)反码=(10001001)原码 ) ) 中步骤将该原码转换为十进制数: =(-9) 按1中步骤将该原码转换为十进制数:(10001001)原码=(- )真值 中步骤将该原码转换为十进制数
3. BCD码的存放:组合BCD码与非组合 码的存放:组合 码与非组合BCD码 码的存放 码与非组合 码
一位” 十进制数字而言的, 上述编码方式是针对 “一位” 十进制数字而言的,一个多位的十进制数与 相应的8421BCD码之间的转换关系如下例所示: 码之间的转换关系如下例所示: 相应的 码之间的转换关系如下例所示 3 0 9 1 十进制数: 十进制数: 对应的8421BCD码: 码 对应的 0011 0000 1001 0001
注意:如无特别说明,本课程中的 码一概指组合的8421BCD码。 注意:如无特别说明,本课程中的BCD码一概指组合的 码一概指组合的 码
二、格雷码(Gray) 格雷码(Gray) 格雷码的特点是: 格雷码的特点是:
任意两个相邻码组之间只有一位码原不同( 和最大 任意两个相邻码组之间只有一位码原不同(0和最大 数之间也只有一位不同), ),因此格雷码也称为循 数之间也只有一位不同),因此格雷码也称为循 环码;这种编码在形成和传输时不易出错; 环码;这种编码在形成和传输时不易出错; 最高位的0和 只改变一次 若以最高位的0和 的交 只改变一次。 最高位的 和1只改变一次。若以最高位的 和1的交 界为轴,其他低位的代码以此轴对称, 界为轴,其他低位的代码以此轴对称,利用这一 特点可以很容易地构成位数不同的格雷码; 特点可以很容易地构成位数不同的格雷码; 格雷码是一种无权码,不易直接进行运算, 格雷码是一种无权码,不易直接进行运算,但可以 很容易地与二进制进行换算; 很容易地与二进制进行换算; 格雷码有许多形式,如余3循环码等 循环码等; 格雷码有许多形式,如余 循环码等;
二、 数制间的转换 三、原码、反码和补码 原码、
1. 带符号数的原码、反码、补码 带符号数的原码、反码、
按位取反 按位取反加1 按位取反加
原码数值
反码
原码数值
补码数值
1. 带符号数的原码、反码、补码 带符号数的原码、反码、
按位取反 按位取反加1 按位取反加
原码数值
反码
原码数值
补码数值
的原码、 例1:设机器码长度为 ,求十进制数 +65、-65的原码、 :设机器码长度为16, 、 的原码 反码和补码。 反码和补码。
这样得到的BCD码在存放或处理时有两种格式: 码在存放或处理时有两种格式: 这样得到的 码在存放或处理时有两种格式 组合BCD码格式:每位十进制数字对应的BCD编码以四个二进制位来存放; 码格式:每位十进制数字对应的 编码以四个二进制位来存放; 组合 码格式 编码以四个二进制位来存放 (3091)10=( ) =(0011 0000 1001 0001)BCD ) 非组合 非组合BCD码格式:每位十进制数字对应的BCD编码以八个二进制位来存放, 码格式:每位十进制数字对应的 编码以八个二进制位来存放, 码格式 编码以八个二进制位来存放 其中低四位存放真正的BCD码,高四位根据具体应用的不同定义为不同的 其中低四位存放真正的 码 如无特殊要求,高四位通常为全0; 值 —— 如无特殊要求,高四位通常为全 ; ) (3091)10=( ) =(00000011 00000000 00001001 00000001)BCD
1. 2 先求( ) 先求(65)10=( ? )2 65 2 32 16 2 2 8 2 4 2 2 1 余1 余0 余0 余0 余0 余0 余1 3. 低位 对正数来说,符号位(最高位) 对正数来说,符号位(最高位)补0, , 且其原码=反码=补码, 且其原码=反码=补码,则: (+65) 的原码=反码= (+ )10 的原码=反码=补码
8 十六进制数 进 制 数 的 不 同反解 释 位 二 无符号十进制数 原 码 码
00H 01H 02H …… 7CH 7DH 7EH 7FH 80H 81H 82H …… FCH FDH FEH FFH 0 1 2 …… 124 125 126 127 128 129 130 …… 252 253 254 255 +0 +1 +2 …… +124 +125 +126 +127 -0 -1 -2 …… - 124 - 125 - 126 - 127 +0 +1 +2 …… +124 +125 +126 +127 - 127 - 126 - 125 …… -3 -2 -1 -0
第一章 逻辑代数基础
§ 1.1 数制和码制 § 1.1.1 数制
一、常用的数制 1. 十进制 十进制:2. 二进制 用0,1的组合表示一个数,逢 二进制: , 的组合表示一个数 的组合表示一个数,
二进一 D=∑Ki×2i ∑ 例:1101.101B=1 ×23 + 1 ×22 + 0 ×21 + 1 ×20 + 1 ×2-1 + 0 ×2-2 + 1 ×2-3=13.625D
例2:设机器码长度为 ,则: :设机器码长度为8,
1. (11110110)原码=( ?)真值 )
因为是原码,去掉符号位后直接将数值部分转换为十进制数据: 因为是原码,去掉符号位后直接将数值部分转换为十进制数据: (1110110)2=( +32+16+4+2)10=( )10 ) =(64+ + + + ) =(118) 符号位为1,说明为负数,所以:( :(11110110)原码=(- )真值 符号位为 ,说明为负数,所以:( ) =(-118)
0000 0001 0ຫໍສະໝຸດ Baidu10 0011 0100 1011 1100 1101 1110 1111
0000 0001 0010 0110 0111 1000 1001 1010 1011 1111
0011 0100 0101 0110 0111 1000 1001 1010 1011 1100
0010 0110 0111 0101 0100 1100 1101 1111 1110 1010