计算机科学导论数据运算,4计算机科学导论第四章-数据运算.ppt

4计算机科学导论第四章-数据运算.ppt

1

第4章

数据运算

(Operations on Data)

2

列出在数据上进行的三类运算.

在位模式上进行一元和二元逻辑运算.

区分逻辑移位运算和算术移位运算.

在位模式上进行逻辑移位运算.

在以二进制补码形式存储的整数上进行算术移位运算.

在以二进制补码形式存储的整数上进行加法和减法运算.

在以符号加绝对值形式存储的整数上进行加法和减法运算.

在以浮点格式存储的实数上进行加法和减法的运算.

理解逻辑和算数运算的一些应用.

教学目标

通过本章的学习,同学们应该能够:

3

4-1 逻辑运算

Logical operations

几个基本概念:

1. 逻辑:指事物的规律性和因果关系。

2. 逻辑状态:完全对立、截然相反的二种状态。

3. 逻辑变量:代表逻辑状态的符号,取值 0 和 1。

4. 逻辑函数:输出是输入条件的函数,有一定的因果关系

逻辑运算:是指对因果关系进行分析的一种运算。逻辑运算的结果并不表示数值的大小,而是表示的一种逻辑概念。若成立用真或1表示,若不成立用假或0表示。

4

自然界中能表示两种不同状态的方法有很多种:

如果定义了一个位作为逻辑值,就可以对它进行逻辑运算了,逻辑运算可以接收1到2个位来生成1个位。如果逻辑运算作用在1个输入位上,就叫做一元运算,如果作用在2个位上,就叫做二元运算。

二进制数的逻辑运算有“与”、“或”、“非”、 “异或”4种。

5

位层次上的逻辑运算

1.非(NOT)

NOT运算符是一元操作符:它只有一个输入。输入位与输出位相反。

如果输入0,则输出1;如果输入1,则输出0.

换言之,NOT运算是输入的反转。

2.与(AND)

AND运算符是二元操作符:它有两个输入。

如果两个输入都是1,则输出1;而其他三种情况下,输出都是0。

如果输入位中有一位是0,则不需要检查其他输入位即可快速得到结果0,这个特性将会在后面用到。

6

3.或(OR)

OR运算符是二元操作符:它有两个输入。

如果两个输入都是0,则输出0;而其他三种情况下,输出都是1。(与AND类似)

如果输入位中有一位是1,则不需要检查其他输入位即可快速得到结果1,这个特性将会在后面用到。

4.异或(XOR)

XOR运算符是二元操作符:它有两个输入。

如果两个输入相同(同为1或同为0),则输出为0;输入不同时,输出为1。

7

Figure 4.1 位层次上的逻辑运算

8

模式层次上的逻辑运算

相同的四种逻辑运算(非、与、或、异或)可以被应用到n位模式。

Figure 4.2 应用于位模式的逻辑运算符

9

Example 4.3

用NOT运算符来计算位模

Example 4.4

用AND来计算位模00101010.

Example 4.5

用OR来计算位模00101110.

10

Example 4.6

用XOR来计算位模00101110.

应用

1.求反

NOT运算符的唯一应用就是对整个模式求反

2.使指定的位复位(变0)

AND运算符的一个应用就是把一个位模式的指定位复位,通常我们将第二个输入称为掩码。掩码的0位置0(E4.7)

11

3.对指定位置位(变1)

OR运算符的一个应用就是把一个位模式的指定位置位,第二个输入也是掩码,类似AND,只不过掩码的1位对第一个输入中对应的位置1,0位保持不变。(E4.8)

4.使指定的位反转(1变0,0变1)

XOR运算符的一个应用就是把一个位模式的指定位反转,第二个输入称为掩码,掩码的1位对第一个输入对应的位进行反转,0位保持不变。(E4.9)

12

例:设想一个水厂使用8台水泵给一城市供水。水泵的状态(开或关)就可以用8位(二进制)模式来描述。现在假设将6号泵打开,怎样的掩码能描述这种情况。

解:设8台水泵的状态(开或关)用8个逻辑变量表示为A8A7A6A5A4A3A2A1。则对应的置位掩码应该是8位模式,由掩码构成规则可得:

13

4-2 移位运算

SHIFT OPERATIONS

基本概念:

移位运算移动模式中的位,改变位的位置

它们只能向左或者向右移

我们将移位运算分为两大类:

逻辑移位运算和算术移位运算

14

逻辑移位运算

逻辑移位

Figure 4.3 逻辑移位运算

逻辑右(左)移运算把每一位向右(左)移动一个位置,在n位模式下,最右(左)位丢失,最左(右)位填0.(E4.10)

1.15

循环移位(旋转运算)

Figure 4.4 循环移位运算

循环右(左)移运算把每一位向右(左)移动一个位置,在n位模式下,最右(左)位被回

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值