SlideShare a Scribd company logo
1 of 50
系 统 总 线 存储器  运算器  控制器  接口与通信  输入 / 输出设备 林楠 办公室: 408 办公电话: 0371-63887293 电子邮件: [email_address] 《 计算机组成原理 》 第六章 计算机的运算方法
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],本章学习目标与重点
[object Object],[object Object],[object Object],[object Object],运算方法 为什么要研究运算方法 ? 答: 1 )一个实际数,怎么用 机器数 表示? (原码、补码、反码等) 机器数具有特定的运算规律,和我们以往研究的算术运算不同。 2 )计算机特定的运算方法: 定点运算 、 浮点运算 。 3 )早期冯 . 诺依曼型运算器只设 加法器 、 寄存器 ,怎么实现加减乘除? 4 )采用什么样的 算法 与 运算器的结构 密切相关,两者的设计是相互 影响的。不同的算法决定运算器不同的结构。
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],系 统 总 线 存储器  运算器  控制器  接口与通信  输入 / 输出设备 运算部件 任何一个硬部件的基本结构一定和功能有关系!
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],移位门 加法器 选择门  A 选择门  B 通用 寄存器组 数据总线 数据总线 运算器基本结构框图 运算部件
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],第六章 计算机的运算方法 机器数的 表示方法 真值表示 问题解决
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1 、 数据的表示方式(从真值到机器数) 真值  +5  =  机器数  0101
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],第六章 计算机的运算方法 机器数的 表示方法 真值表示 问题解决
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],通常符号处理有两种方法: 1 )一种是舍弃符号,采用无符号表示; 2 )一种是采用符号,并对符号加以处理。 如何处理符号呢?途径只有一条,即 符号数码化 。 “ 0 ”  表示  正 ,“ 1 ”  表示  负 。 1.1 、符号的处理(正数、负数)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],第六章 计算机的运算方法 机器数的 表示方法 真值表示 问题解决
1 )直接采用二进制数表示 如( 255 ) 10 = ( 11111111 ) 2 优点: 在计算机中,数码是由电平的高低来表示的; 通常高 电平代表“ 1” , 低电平代表“ 0” ; 所以采用二进制方便,容易实现。 缺点: 八个 1 表示 255 , 二进制表示数码的效率太低, 书写极其不方便。 1.2 、数值的处理(数制转换)
2 )引进组合二进制数:八、十六进制数 从最低有效位开始,三位一划分,组成 八进制  Q ; 从最低有效位开始,四位一划分,组成 十六进制  H 。 例如: 110101111001  二进制 110101111001  6571 Q  八进制 110101111001   D79 H  十六进制 注意: 这种引进,主要是 为了书写方便而已 , 在机器 内部表示是一样 的,不需要编码 译码 。 1.2 、数值的处理(数制转换)
1.2 、数值的处理(数制转换) 1 5 F 1 7 1 1 1 1 1 4 E 1 6 1 1 1 0 1 3 D 1 5 1 1 0 1 1 2 C 1 4 1 1 0 0 1 1 B 1 3 1 0 1 1 1 0 A 1 2 1 0 1 0 9 9 1 1 1 0 0 1 8 8 1 0 1 0 0 0 7 7 0 7 0 1 1 1 6 6 0 6 0 1 1 0 5 5 0 5 0 1 0 1 4 4 0 4 0 1 0 0 3 3 0 3 0 0 1 1 2 2 0 2 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 十进制数  D  十六进制数  H  八进制数  O/Q  二进制数  B
二进制数、八进制数、十六进制之间的转换 对于一个兼有整数和小数部分的数,以小数点为界, 不足的位数补 0 。 对整数部分将 0 补在数的左侧,对小数部分将 0 补在数的右侧。 例: 从二进制数转换到八进制数,则以 3 位为 1 组 ( 1   101 . 010   1 ) 2 =( 001   101 . 010   100 ) 2 =(15.24) 8 例: 从二进制数转换到十六进制数,则以 4 位为 1 组 。  ( 1   1101 . 0101 ) 2 =( 0001   1101 . 0101 ) 2 =(1D.5) 16 从八进制数 / 十六进制数转换到二进制数,顺序将每一位数写成 3/4 位。 例:  (15.24) 8 =( 00 1   101 . 010   1 00 ) 2 =(1101.0101) 2 八进制数与十六进制数之间,可将二进制数作为中间媒介进行转换。 1.2 、数值的处理(数制转换)
3 )  BCD 码(十进制): 如果计算机以二进制进行运算和处理时,只要在输入输出处理时进 行二  /  十进制转换即可。 但在商业统计中, 二  /  十进制转换存在两个问题 : ( 1 )转换占用实际运算很大的时间; ( 2 )十进制的 0.1 ,无法用二进制表示; 且十进制数 0.1+0.1=0.2 ,在二进制中无法得到确切的数值, 这里有个小误差。 商用计算机设计有专门用于十进制计算电路,这时的十进制数一般采用 BCD 码 。 1.2 、数值的处理(数制转换)
例: 将 (105) 10 转换成二进制。 2 105   余数 结果   2 52 1 最低位   2 26 0   2 13 0 …   2 6 1   2 3 0   2 1 1   0 1 最高位 得出: ( 105 ) 10  = ( 1101001 ) 2 十进制数转换成二进制数 : 对一个数的 整数部分和小数部分 分别进行处理,合并各自得出结果。 整数部分: 采用 除 2 取余数 法。 直到商等于 0 为止 1.2 、数值的处理(数制转换)
直到乘积的小数部分为 0 , 或结果已满足所需精度要求为止 十进制数转换成二进制数 : 对一个数的 整数部分和小数部分 分别进行处理,合并各自得出结果。 小数部分: 采用 乘 2 取整数 法。 例: 将 (0.3125) 10 转换成二进制数  (  要求 4 位有效位 )  。 结果  0.3125×2 最高位  0  .6250×2 …  1  .2500×2   0  .5000×2 最低位  1  . 0000 得出 : ( 0.3125 ) 10  = ( 0.0101 ) 2 1.2 、数值的处理(数制转换)
十进制数转换成二进制数 : 对一个数的 整数部分和小数部分 分别进行处理,合并各自得出结果。 例: 将 (105.3125) 10 转换成二进制数  (  要求 4 位有效位 )  。 前面计算得出: ( 105 ) 10  = (  1101001  ) 2 前面计算得出 : ( 0.3125 ) 10  = ( 0. 0101  ) 2 得出:  ( 105.3125 ) 10  = (  1101001 . 0101  ) 2 1.2 、数值的处理(数制转换)
直到乘积的小数部分为 0 , 或结果已满足所需精度要求为止 . 例: 将 (0. 1) 10 转换成二进制数  (  要求 5 位有效位 )  。 结果  0.1×2 最高位  0  .2×2 …  0  .4×2   0  .8×2   1  .6×2   1  .2×2   0  .4×2   0  .8×2 最低位  1  .6 000 得出 : ( 0.1 ) 10  = ( 0.00011 ) 2 可能永远乘不完,小数部分不为 0 , 意味存在一点误差。 1.2 、数值的处理(数制转换)
由于 ASCII 码低四位与 BCD 码相同,转换方便。 ASCII 码左移四位得 BCD 码,  BCD 码前加 0011 得 ASCII 码。 一般在二进制的计算机中一般不采用 BCD 码,矫正不方便。 在 商用计算机 中,专门设置有十进制电路,采用 BCD 码。 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],从键盘输入输出的是 ASCII 码( P214 ) 1.2 、数值的处理(数制转换)
BCD 码算术运算,要对运算结果进行 修正 。 加法运算的修正规则是: 两个一位 BCD 码相加之和小于或等于 (1001) 2 , 即 (9) 10, 不修正; 相加之和大于或等于 (10) 10 ,要 加 6 修正 ,并向高位进位。 4+9=13 0 1 0 0 + 1 0 0 1 1 1 0 1 + 0 1 1 0   修正 1  0 0 1 1 进位 1+8=9 0 0 0 1 + 1 0 0 0 1 0 0 1 不需要修正 9+7=16 1 0 0 1 + 0 1 1 1 1   0 0 0 0 + 0 1 1 0   修正 1  0 1 1 0 进位 1.2 、数值的处理(数制转换)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],第六章 计算机的运算方法 机器数的 表示方法 真值表示 问题解决
小数点可否数码化? 如  10110011  ,你能鉴别哪一位数码表示小数点吗? 答案: 不能!无法与数位相区别。 1.3 、小数点的处理(定点、浮点) 定点数 :  小数点固定在某个位置上的数据。 定点小数 : 小数点固定在数值部分的左边,符号位的右边。 定点整数 : 小数点固定在数值部分的右边。 定点数的表示范围是有限的,但硬件的设计比较简单。 浮点数 :   指小数点位置可浮动的数据。
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],尾数(数值) 符号 1.3 、小数点的处理(定点、浮点)
[object Object],[object Object],[object Object],[object Object],X 0   X 1 X 2   …  X n 尾数(数值) 符号 小数点的这个点在计算机中是 隐含约定 的,不出现的。 1.3 、小数点的处理(定点、浮点)
[object Object],[object Object],[object Object],[object Object],X 0   X 1 X 2   …  X n 尾数(数值) 符号 1.3 、小数点的处理(定点、浮点)
[object Object],[object Object],[object Object],定点整数数值表示: X = X 0  X 1 X 2 …X n X i ={0,1}, 0≤i≤n X 0 2 n  + X 1 2 n-1  + … + X n-1 2 1  + X n 例如 :  X = 010101  其数值  = 2 4 +2 2 +2 0  = 21 1.3 、小数点的处理(定点、浮点)
阶码 浮点数 机器格式: 尾数 阶符 数符 浮点数: 小数点的位置根据需要而浮动。 N = S × r j   r :基数 ,通常 r = 2 。 j :阶码 ,常为 纯整数 ,用移码或补码表示。 S :尾数 ,常为 纯小数 ,用原码或补码表示。 j 和 S 都是 带符号的数   例如: 1 0011101  * 2  0 1101000 0  1101000 1  0011101 现在大部分计算机都是采用浮点运算。 0 . 12345 X 10  3 1.3 、小数点的处理(定点、浮点)
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],小结:真值 表示为机器数解决的三个问题
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],第六章 计算机的运算方法 机器数的 表示方法 真值表示 问题解决
计算机中的 机器数 常用三种不同的表示方法: 原码、 补码、反码。 原码 的表示方法: 一个二进制数  X =  X 0  X 1 X 2   … X n ,原码的编码方法是 当  X ≥ 0  时, [X] 原 的代码是: 0  X 1 X 2   … X n 当  X ≤ 0  时, [X] 原 的代码是: 1  X 1 X 2   … X n X 0 是符号位 X 1 X 2   … X n 是数据的二进制数值。 1.4 、原码的表示方法 一个符号  +  数据的绝对值
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1.4 、原码的表示方法
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1.4 、原码的表示方法
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1.4 、原码的表示方法 对给定的小数原码 [x] 原 ,它的真值 x 可根据以下公式求得: X=(-1) x 0 (x 1 2 -1 …+x n-1 2 - ( n-1 ) +x n 2 -n )
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1.4 、原码的表示方法
[object Object],[object Object],[object Object],[object Object],[object Object],1.4 、原码的表示方法 直接采用原码运算是不行的! 处理负数运算太复杂!
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],第六章 计算机的运算方法 机器数的 表示方法 真值表示 问题解决
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1.5 、反码的表示方法 容易生成: 触发器 Q 端输出是原码, /Q 端输出就是反码,得到方便。 运算复杂:现在计算机中 反码很少使用 ( CDC 公司某些机器使用过) 反码表示法: 正数: 数值部分与真值形式相同; 负数: 真值的数值部分按位取反。 例: X=0.0110 ,  [X] 反 = 0 .0110 X= - 0.0110 ,  [X] 反 = 1 .1001
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],第六章 计算机的运算方法 机器数的 表示方法 真值表示 问题解决
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1.6 、补码的表示方法 “ 补”的启示: 减法操作可以用加法操作来代替。 也就是负数用补码表示时,可以把减法转化为加法。 在计算机中实现起来就比较方便。 即: 如果用补码表示的话,只设计一个加法运算器就可以实现加减运 算,简化了硬件设计部件。
-0 -1 -128 -127 -127 -126 -3 -2 -1 … 设机器数字长为  8  位(其中1位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少? P 225 ( +X ) + ( - X )  =  0 [+0] 补 =[-0] 补 =0.0000 一 半 正 一 半 负 [ -X ] 补   = [ X ] 补   + 1  0 0000000 0 0000001 0 0000010 … 0 1111111 1 0000000 1 0000001 1 1111101 1 1111110 1 1111111 … 128 129 二进制代码 无符号数 对应的真值 原码对应 的真值 补码对应 的真值 反码对应 的真值 0 1 2 127 … 253 254 255 … -125 -126 -127 … -2 -1 -0 … +0 +1 +2 +127 … +0 +1 +2 +127 … +0 +1 +2 +127 … +0
[object Object],[object Object],[object Object],[object Object],[object Object],1.6 、补码的表示方法 正数的补码 与原码相同; 负数的补码 是将二进制位按位取反后,末位加 1 。
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1.6 、补码的表示方法
1.6 、补码的表示方法 对于给定定点整数的补码 [x]  补 ,它的数值为: X = - X  0 2 n  + X  1  2 n-1  + … + X  n-1  2 1  + X  n 2 0 例如: [x]  补 =10000000  (  X  0 X  1  。。。 X  n-1  X  n ),求其真值 n+1=8 (共 8 位, 1 位符号位)  n=7 X = -1×2 7  + 0×2 6  + … + 0×2 0  = - 128 一个 n+1  位整数补码所能表示的数值范围为: ( 1 00…0 )  -2 n  ≤ x ≤ 2 n -1   ( 0 11…1 ) 如果是八位二进制数:  -2 7  ≤ x ≤ 2 7 -1  (  -128 ≤ x ≤127  ) 例如: 一个 8 位的机器数,用补码表示的范围是多少? 解: 符号位一位,数值部分七位,那么它的范围是, 正的是: [ 0 1111111  ] 补 = 2 7  - 1 = 127 负的是: [ 1 0000000 ] 补   = -2 7  = - 128
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1.6 、补码的表示方法
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1.6 、补码的表示方法
[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],1.6 、补码的表示方法 0 必须转换 0 必须转换
[object Object],[object Object],[object Object],[object Object],1.6 、补码的表示方法 对于带符号数  x , y 下列公式成立:   [ x ] 补  +  [ y ] 补  = [ x   + y  ] 补  ( mod M )   [ x ] 补  +  [- y ] 补  = [ x   - y  ] 补    ( mod M )  ( 3 )目前大多数小 / 微型计算机 ALU ,只设加法器。采用补码运算后, 可将 正数 + 负数 转化成 正数 + 正数 ,又可将减法转化成加法运算, 这样只设加法器就可以了。 现在几乎所有的计算机都是采用补码运算! 所以,我们研究运算方法和运算器时,只研究补码运算!
真值与三种机器数的转换 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
复习与作业 复习章节: 第 6 章 计算机的运算方法 6.1  无符号数和有符号数 6.2  数的定点表示和浮点表示 6.5  算术逻辑单元 作业: 设机器数字长为  16 位(其中1位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围及机器数形式(十六进制)各为多少? P 290  6.2 、 6.3 、 6.4 、 6.5

More Related Content

What's hot

第4章1
第4章1第4章1
第4章1
zhaowmm
 
C语言学习100例实例程序
C语言学习100例实例程序C语言学习100例实例程序
C语言学习100例实例程序
yiditushe
 
241525第三章初等代数运算命令与例题
241525第三章初等代数运算命令与例题241525第三章初等代数运算命令与例题
241525第三章初等代数运算命令与例题
gwadhysys
 
Act2
Act2Act2
Act2
yy206
 
康軒 國中數學 3下 課本ppt 1-3 應用問題
康軒 國中數學 3下 課本ppt 1-3 應用問題康軒 國中數學 3下 課本ppt 1-3 應用問題
康軒 國中數學 3下 課本ppt 1-3 應用問題
Jimmy Ma
 
基本遗传算法
 基本遗传算法 基本遗传算法
基本遗传算法
sixu05202004
 
康軒 國中數學 3下 課本ppt 1-1 二次函數的圖形
康軒 國中數學 3下 課本ppt 1-1 二次函數的圖形康軒 國中數學 3下 課本ppt 1-1 二次函數的圖形
康軒 國中數學 3下 課本ppt 1-1 二次函數的圖形
Jimmy Ma
 

What's hot (20)

第4章1
第4章1第4章1
第4章1
 
Ch2
Ch2Ch2
Ch2
 
1 2指數函數
1 2指數函數1 2指數函數
1 2指數函數
 
C语言学习100例实例程序
C语言学习100例实例程序C语言学习100例实例程序
C语言学习100例实例程序
 
Ch2 教學
Ch2 教學Ch2 教學
Ch2 教學
 
241525第三章初等代数运算命令与例题
241525第三章初等代数运算命令与例题241525第三章初等代数运算命令与例题
241525第三章初等代数运算命令与例题
 
Ch9 範例
Ch9 範例Ch9 範例
Ch9 範例
 
Python 迴圈作業
Python 迴圈作業Python 迴圈作業
Python 迴圈作業
 
Example
ExampleExample
Example
 
運用GAN實現字體風格轉換
運用GAN實現字體風格轉換運用GAN實現字體風格轉換
運用GAN實現字體風格轉換
 
Ch10 習題
Ch10 習題Ch10 習題
Ch10 習題
 
Ch5 範例
Ch5 範例Ch5 範例
Ch5 範例
 
Part 6 2010
Part 6 2010Part 6 2010
Part 6 2010
 
資料結構平常測驗一的解答
資料結構平常測驗一的解答資料結構平常測驗一的解答
資料結構平常測驗一的解答
 
3 1等差與等比
3 1等差與等比3 1等差與等比
3 1等差與等比
 
Sprout 2013 Solution
Sprout 2013 SolutionSprout 2013 Solution
Sprout 2013 Solution
 
Act2
Act2Act2
Act2
 
康軒 國中數學 3下 課本ppt 1-3 應用問題
康軒 國中數學 3下 課本ppt 1-3 應用問題康軒 國中數學 3下 課本ppt 1-3 應用問題
康軒 國中數學 3下 課本ppt 1-3 應用問題
 
基本遗传算法
 基本遗传算法 基本遗传算法
基本遗传算法
 
康軒 國中數學 3下 課本ppt 1-1 二次函數的圖形
康軒 國中數學 3下 課本ppt 1-1 二次函數的圖形康軒 國中數學 3下 課本ppt 1-1 二次函數的圖形
康軒 國中數學 3下 課本ppt 1-1 二次函數的圖形
 

Similar to 04 计算机的运算方法01

張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
逸 張
 
网管会 一些基础知识
网管会 一些基础知识网管会 一些基础知识
网管会 一些基础知识
Jammy Wang
 
07 计算机的运算方法04
07 计算机的运算方法0407 计算机的运算方法04
07 计算机的运算方法04
Huaijin Chen
 
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式
summerfeng
 
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
1138177709
 

Similar to 04 计算机的运算方法01 (20)

第1章
第1章第1章
第1章
 
计算机应用基础课件(一)
计算机应用基础课件(一)计算机应用基础课件(一)
计算机应用基础课件(一)
 
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
張逸 - 研究所 / 轉學考計算機概論 、公職計算機概要 - 基本計概 - 試閱版
 
网管会 一些基础知识
网管会 一些基础知识网管会 一些基础知识
网管会 一些基础知识
 
07 计算机的运算方法04
07 计算机的运算方法0407 计算机的运算方法04
07 计算机的运算方法04
 
Deep learning wiki on data encodingi
Deep learning  wiki on data encodingiDeep learning  wiki on data encodingi
Deep learning wiki on data encodingi
 
Ch1 教學
Ch1 教學Ch1 教學
Ch1 教學
 
【智慧核心-CPU】第二節:正整數進位制的轉換-編碼
【智慧核心-CPU】第二節:正整數進位制的轉換-編碼【智慧核心-CPU】第二節:正整數進位制的轉換-編碼
【智慧核心-CPU】第二節:正整數進位制的轉換-編碼
 
【智慧核心-CPU】第三節:負數、小數的修正機制
【智慧核心-CPU】第三節:負數、小數的修正機制【智慧核心-CPU】第三節:負數、小數的修正機制
【智慧核心-CPU】第三節:負數、小數的修正機制
 
C1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domainC1 discrete time signals and systems in the time-domain
C1 discrete time signals and systems in the time-domain
 
第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式第2章数据类型、运算符和表达式
第2章数据类型、运算符和表达式
 
TENSORFLOW深度學習講座講義(很硬的課程)
TENSORFLOW深度學習講座講義(很硬的課程)TENSORFLOW深度學習講座講義(很硬的課程)
TENSORFLOW深度學習講座講義(很硬的課程)
 
Ch02-數字系統.pdf
Ch02-數字系統.pdfCh02-數字系統.pdf
Ch02-數字系統.pdf
 
20200323 - AI Intro
20200323 - AI Intro20200323 - AI Intro
20200323 - AI Intro
 
Ppt 1-50
Ppt 1-50Ppt 1-50
Ppt 1-50
 
Ppt 1-25
Ppt 1-25Ppt 1-25
Ppt 1-25
 
C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式C 02 c语言的基本数据类型与表达式
C 02 c语言的基本数据类型与表达式
 
系統程式
系統程式系統程式
系統程式
 
Bit Hack
Bit HackBit Hack
Bit Hack
 
數位邏輯隨堂講義 第2章(題目卷)
數位邏輯隨堂講義 第2章(題目卷)數位邏輯隨堂講義 第2章(題目卷)
數位邏輯隨堂講義 第2章(題目卷)
 

More from Huaijin Chen

More from Huaijin Chen (10)

20 cpu04
20 cpu0420 cpu04
20 cpu04
 
19 cpu03
19 cpu0319 cpu03
19 cpu03
 
18 cpu02
18 cpu0218 cpu02
18 cpu02
 
17 cpu01
17 cpu0117 cpu01
17 cpu01
 
10 存储系统02
10 存储系统0210 存储系统02
10 存储系统02
 
09 存储系统01
09 存储系统0109 存储系统01
09 存储系统01
 
03 计算机的逻辑部件02
03 计算机的逻辑部件0203 计算机的逻辑部件02
03 计算机的逻辑部件02
 
02 计算机的逻辑部件01
02 计算机的逻辑部件0102 计算机的逻辑部件01
02 计算机的逻辑部件01
 
01 课程介绍与计算机系统概述
01 课程介绍与计算机系统概述01 课程介绍与计算机系统概述
01 课程介绍与计算机系统概述
 
21 总线
21 总线21 总线
21 总线
 

Recently uploaded

10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
PUAXINYEEMoe
 
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
michaelell902
 
1.1.3急救你必须懂四年级设计与工艺练习活页练习单元一四年级设计与工艺急救你必须懂
1.1.3急救你必须懂四年级设计与工艺练习活页练习单元一四年级设计与工艺急救你必须懂1.1.3急救你必须懂四年级设计与工艺练习活页练习单元一四年级设计与工艺急救你必须懂
1.1.3急救你必须懂四年级设计与工艺练习活页练习单元一四年级设计与工艺急救你必须懂
PUAXINYEEMoe
 

Recently uploaded (9)

啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
啟思中國語文 - 中二 單元一 - 孟嘗君列傳 - 記敍的方法和人稱1.pptx
 
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
10.2.1 马来西亚各州名称的由来六年级历史单元练习马来西亚各州名称的由来练习
 
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdftaibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
taibif_開放資料流程-清理資料01-通則_20240509_20240509.pdf
 
taibif_資料標準概念介紹_20240509_20240509_20340509.pdf
taibif_資料標準概念介紹_20240509_20240509_20340509.pdftaibif_資料標準概念介紹_20240509_20240509_20340509.pdf
taibif_資料標準概念介紹_20240509_20240509_20340509.pdf
 
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
1.🎉“黑客”如何修改成绩?🤔🎉 在这个信息爆炸的时代,我们经常会看到各种作弊手段。但是你知道吗?有一种作弊方式可能比你想象中更巧妙:它就是——黑客![单...
 
Math Chapter3-教學PPT第03單元形體關係、體積與表面積Grade Six
Math Chapter3-教學PPT第03單元形體關係、體積與表面積Grade SixMath Chapter3-教學PPT第03單元形體關係、體積與表面積Grade Six
Math Chapter3-教學PPT第03單元形體關係、體積與表面積Grade Six
 
1.🎉成绩单,你的成绩! 💡🔥每个人都有自己的成绩单,它记录着我们努力的成果。但有时候,看着这些数字,却发现它们好像在嘲笑我?别担心,让我来告诉你们怎么改...
1.🎉成绩单,你的成绩! 💡🔥每个人都有自己的成绩单,它记录着我们努力的成果。但有时候,看着这些数字,却发现它们好像在嘲笑我?别担心,让我来告诉你们怎么改...1.🎉成绩单,你的成绩! 💡🔥每个人都有自己的成绩单,它记录着我们努力的成果。但有时候,看着这些数字,却发现它们好像在嘲笑我?别担心,让我来告诉你们怎么改...
1.🎉成绩单,你的成绩! 💡🔥每个人都有自己的成绩单,它记录着我们努力的成果。但有时候,看着这些数字,却发现它们好像在嘲笑我?别担心,让我来告诉你们怎么改...
 
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
法国蒙彼利埃国家高等建筑学院毕业证制作/德语歌德B1证书/加拿大新斯科舍省农业学院文凭加急制作一个
 
1.1.3急救你必须懂四年级设计与工艺练习活页练习单元一四年级设计与工艺急救你必须懂
1.1.3急救你必须懂四年级设计与工艺练习活页练习单元一四年级设计与工艺急救你必须懂1.1.3急救你必须懂四年级设计与工艺练习活页练习单元一四年级设计与工艺急救你必须懂
1.1.3急救你必须懂四年级设计与工艺练习活页练习单元一四年级设计与工艺急救你必须懂
 

04 计算机的运算方法01

  • 1. 系 统 总 线 存储器 运算器 控制器 接口与通信 输入 / 输出设备 林楠 办公室: 408 办公电话: 0371-63887293 电子邮件: [email_address] 《 计算机组成原理 》 第六章 计算机的运算方法
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11. 1 )直接采用二进制数表示 如( 255 ) 10 = ( 11111111 ) 2 优点: 在计算机中,数码是由电平的高低来表示的; 通常高 电平代表“ 1” , 低电平代表“ 0” ; 所以采用二进制方便,容易实现。 缺点: 八个 1 表示 255 , 二进制表示数码的效率太低, 书写极其不方便。 1.2 、数值的处理(数制转换)
  • 12. 2 )引进组合二进制数:八、十六进制数 从最低有效位开始,三位一划分,组成 八进制 Q ; 从最低有效位开始,四位一划分,组成 十六进制 H 。 例如: 110101111001 二进制 110101111001 6571 Q 八进制 110101111001 D79 H 十六进制 注意: 这种引进,主要是 为了书写方便而已 , 在机器 内部表示是一样 的,不需要编码 译码 。 1.2 、数值的处理(数制转换)
  • 13. 1.2 、数值的处理(数制转换) 1 5 F 1 7 1 1 1 1 1 4 E 1 6 1 1 1 0 1 3 D 1 5 1 1 0 1 1 2 C 1 4 1 1 0 0 1 1 B 1 3 1 0 1 1 1 0 A 1 2 1 0 1 0 9 9 1 1 1 0 0 1 8 8 1 0 1 0 0 0 7 7 0 7 0 1 1 1 6 6 0 6 0 1 1 0 5 5 0 5 0 1 0 1 4 4 0 4 0 1 0 0 3 3 0 3 0 0 1 1 2 2 0 2 0 0 1 0 1 1 0 1 0 0 0 1 0 0 0 0 0 0 0 0 十进制数 D 十六进制数 H 八进制数 O/Q 二进制数 B
  • 14. 二进制数、八进制数、十六进制之间的转换 对于一个兼有整数和小数部分的数,以小数点为界, 不足的位数补 0 。 对整数部分将 0 补在数的左侧,对小数部分将 0 补在数的右侧。 例: 从二进制数转换到八进制数,则以 3 位为 1 组 ( 1 101 . 010 1 ) 2 =( 001 101 . 010 100 ) 2 =(15.24) 8 例: 从二进制数转换到十六进制数,则以 4 位为 1 组 。 ( 1 1101 . 0101 ) 2 =( 0001 1101 . 0101 ) 2 =(1D.5) 16 从八进制数 / 十六进制数转换到二进制数,顺序将每一位数写成 3/4 位。 例: (15.24) 8 =( 00 1 101 . 010 1 00 ) 2 =(1101.0101) 2 八进制数与十六进制数之间,可将二进制数作为中间媒介进行转换。 1.2 、数值的处理(数制转换)
  • 15. 3 ) BCD 码(十进制): 如果计算机以二进制进行运算和处理时,只要在输入输出处理时进 行二 / 十进制转换即可。 但在商业统计中, 二 / 十进制转换存在两个问题 : ( 1 )转换占用实际运算很大的时间; ( 2 )十进制的 0.1 ,无法用二进制表示; 且十进制数 0.1+0.1=0.2 ,在二进制中无法得到确切的数值, 这里有个小误差。 商用计算机设计有专门用于十进制计算电路,这时的十进制数一般采用 BCD 码 。 1.2 、数值的处理(数制转换)
  • 16. 例: 将 (105) 10 转换成二进制。 2 105 余数 结果 2 52 1 最低位 2 26 0 2 13 0 … 2 6 1 2 3 0 2 1 1 0 1 最高位 得出: ( 105 ) 10 = ( 1101001 ) 2 十进制数转换成二进制数 : 对一个数的 整数部分和小数部分 分别进行处理,合并各自得出结果。 整数部分: 采用 除 2 取余数 法。 直到商等于 0 为止 1.2 、数值的处理(数制转换)
  • 17. 直到乘积的小数部分为 0 , 或结果已满足所需精度要求为止 十进制数转换成二进制数 : 对一个数的 整数部分和小数部分 分别进行处理,合并各自得出结果。 小数部分: 采用 乘 2 取整数 法。 例: 将 (0.3125) 10 转换成二进制数 ( 要求 4 位有效位 ) 。 结果 0.3125×2 最高位 0 .6250×2 … 1 .2500×2 0 .5000×2 最低位 1 . 0000 得出 : ( 0.3125 ) 10 = ( 0.0101 ) 2 1.2 、数值的处理(数制转换)
  • 18. 十进制数转换成二进制数 : 对一个数的 整数部分和小数部分 分别进行处理,合并各自得出结果。 例: 将 (105.3125) 10 转换成二进制数 ( 要求 4 位有效位 ) 。 前面计算得出: ( 105 ) 10 = ( 1101001 ) 2 前面计算得出 : ( 0.3125 ) 10 = ( 0. 0101 ) 2 得出: ( 105.3125 ) 10 = ( 1101001 . 0101 ) 2 1.2 、数值的处理(数制转换)
  • 19. 直到乘积的小数部分为 0 , 或结果已满足所需精度要求为止 . 例: 将 (0. 1) 10 转换成二进制数 ( 要求 5 位有效位 ) 。 结果 0.1×2 最高位 0 .2×2 … 0 .4×2 0 .8×2 1 .6×2 1 .2×2 0 .4×2 0 .8×2 最低位 1 .6 000 得出 : ( 0.1 ) 10 = ( 0.00011 ) 2 可能永远乘不完,小数部分不为 0 , 意味存在一点误差。 1.2 、数值的处理(数制转换)
  • 20.
  • 21. BCD 码算术运算,要对运算结果进行 修正 。 加法运算的修正规则是: 两个一位 BCD 码相加之和小于或等于 (1001) 2 , 即 (9) 10, 不修正; 相加之和大于或等于 (10) 10 ,要 加 6 修正 ,并向高位进位。 4+9=13 0 1 0 0 + 1 0 0 1 1 1 0 1 + 0 1 1 0 修正 1 0 0 1 1 进位 1+8=9 0 0 0 1 + 1 0 0 0 1 0 0 1 不需要修正 9+7=16 1 0 0 1 + 0 1 1 1 1 0 0 0 0 + 0 1 1 0 修正 1 0 1 1 0 进位 1.2 、数值的处理(数制转换)
  • 22.
  • 23. 小数点可否数码化? 如 10110011 ,你能鉴别哪一位数码表示小数点吗? 答案: 不能!无法与数位相区别。 1.3 、小数点的处理(定点、浮点) 定点数 : 小数点固定在某个位置上的数据。 定点小数 : 小数点固定在数值部分的左边,符号位的右边。 定点整数 : 小数点固定在数值部分的右边。 定点数的表示范围是有限的,但硬件的设计比较简单。 浮点数 : 指小数点位置可浮动的数据。
  • 24.
  • 25.
  • 26.
  • 27.
  • 28. 阶码 浮点数 机器格式: 尾数 阶符 数符 浮点数: 小数点的位置根据需要而浮动。 N = S × r j r :基数 ,通常 r = 2 。 j :阶码 ,常为 纯整数 ,用移码或补码表示。 S :尾数 ,常为 纯小数 ,用原码或补码表示。 j 和 S 都是 带符号的数 例如: 1 0011101 * 2 0 1101000 0 1101000 1 0011101 现在大部分计算机都是采用浮点运算。 0 . 12345 X 10 3 1.3 、小数点的处理(定点、浮点)
  • 29.
  • 30.
  • 31. 计算机中的 机器数 常用三种不同的表示方法: 原码、 补码、反码。 原码 的表示方法: 一个二进制数 X = X 0 X 1 X 2 … X n ,原码的编码方法是 当 X ≥ 0 时, [X] 原 的代码是: 0 X 1 X 2 … X n 当 X ≤ 0 时, [X] 原 的代码是: 1 X 1 X 2 … X n X 0 是符号位 X 1 X 2 … X n 是数据的二进制数值。 1.4 、原码的表示方法 一个符号 + 数据的绝对值
  • 32.
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38.
  • 39.
  • 40.
  • 41. -0 -1 -128 -127 -127 -126 -3 -2 -1 … 设机器数字长为 8 位(其中1位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围各为多少? P 225 ( +X ) + ( - X ) = 0 [+0] 补 =[-0] 补 =0.0000 一 半 正 一 半 负 [ -X ] 补 = [ X ] 补 + 1 0 0000000 0 0000001 0 0000010 … 0 1111111 1 0000000 1 0000001 1 1111101 1 1111110 1 1111111 … 128 129 二进制代码 无符号数 对应的真值 原码对应 的真值 补码对应 的真值 反码对应 的真值 0 1 2 127 … 253 254 255 … -125 -126 -127 … -2 -1 -0 … +0 +1 +2 +127 … +0 +1 +2 +127 … +0 +1 +2 +127 … +0
  • 42.
  • 43.
  • 44. 1.6 、补码的表示方法 对于给定定点整数的补码 [x] 补 ,它的数值为: X = - X 0 2 n + X 1 2 n-1 + … + X n-1 2 1 + X n 2 0 例如: [x] 补 =10000000 ( X 0 X 1 。。。 X n-1 X n ),求其真值 n+1=8 (共 8 位, 1 位符号位) n=7 X = -1×2 7 + 0×2 6 + … + 0×2 0 = - 128 一个 n+1 位整数补码所能表示的数值范围为: ( 1 00…0 ) -2 n ≤ x ≤ 2 n -1 ( 0 11…1 ) 如果是八位二进制数: -2 7 ≤ x ≤ 2 7 -1 ( -128 ≤ x ≤127 ) 例如: 一个 8 位的机器数,用补码表示的范围是多少? 解: 符号位一位,数值部分七位,那么它的范围是, 正的是: [ 0 1111111 ] 补 = 2 7 - 1 = 127 负的是: [ 1 0000000 ] 补 = -2 7 = - 128
  • 45.
  • 46.
  • 47.
  • 48.
  • 49.
  • 50. 复习与作业 复习章节: 第 6 章 计算机的运算方法 6.1 无符号数和有符号数 6.2 数的定点表示和浮点表示 6.5 算术逻辑单元 作业: 设机器数字长为 16 位(其中1位为符号位)对于整数,当其分别代表无符号数、原码、补码和反码时,对应的真值范围及机器数形式(十六进制)各为多少? P 290 6.2 、 6.3 、 6.4 、 6.5