计算机中的信息表示数的计算

上传人:宝路 文档编号:47701571 上传时间:2018-07-04 格式:PPT 页数:16 大小:127.37KB
返回 下载 相关 举报
计算机中的信息表示数的计算_第1页
第1页 / 共16页
计算机中的信息表示数的计算_第2页
第2页 / 共16页
计算机中的信息表示数的计算_第3页
第3页 / 共16页
计算机中的信息表示数的计算_第4页
第4页 / 共16页
计算机中的信息表示数的计算_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《计算机中的信息表示数的计算》由会员分享,可在线阅读,更多相关《计算机中的信息表示数的计算(16页珍藏版)》请在金锄头文库上搜索。

1、神舟学院 计算机基础课程Ver:1.00第三章:计算机中信息的表示(二)主 讲:何 皑Ver:1.003.4 逻辑运算3.4 逻辑运算逻辑运算又叫布尔运算。布尔用数学方法研究逻辑问题 ,成功地建立了逻辑演算。他用等式表示判断,把推理看作 等式的变换。这种变换的有效性不依赖人们对符号的解释, 只依赖于符号的 组合规律 。逻辑运算是表示和处理事物之间各种逻辑关系的一种数 学工具。例如:1、能抓到老鼠的猫就是好猫。2、必须带“介绍信”或“身份证”方可进机房。3、必须不是苹果味的糖,她才吃。这三句话,分别表示了三种不同的逻辑关系。(二)Ver:1.003.4 逻辑运算3.4.1 逻辑运算式的计算逻辑

2、与 运算。(AND运算,逻辑乘法)例:能抓到老鼠的猫就是好猫。是否猫能抓到结果 是能好猫 是不能非好猫 否能非好猫 否不能非好猫ABC 111 100 010 000这种逻辑关系的计算结果是:同真为真,否则为假。假设 我们设是否是猫为A,是否能抓到老鼠为B,能否是好猫为C 。那么上面的关系可以表示为:C = A B 或 C = A B 或 C = A and B。称为与运算,或称逻辑乘法。 (二)Ver:1.003.4 逻辑运算3.1 逻辑运算式的计算逻辑 或 运算。(OR运算,逻辑加法)例:必须带“介绍信”或“身份证”方可进机房。介绍信身份证结果 己带己带能进 己带未带能进 未带己带能进 未

3、带未带不能进ABC 111 101 011 000这种逻辑关系的计算结果是:有真为真,否则为假。假设 我们设是否带介绍信为A,是否带身份证为B,能否进机房为 C。那么上面的关系可以表示为:C = A B 或 C = A + B或 C = A or B。称为或运算,或称逻辑加法。 (二)Ver:1.003.4 逻辑运算3.1 逻辑运算式的计算逻辑 非 运算。(not运算,逻辑非)例:必须不是苹果味的糖,她才吃。苹果味结果 是不吃 不是吃AB 10 01这种逻辑关系的计算结果是:条件为假则结果为真,条件 为真则结果为假。假设我们设是否是苹果味为A,吃不吃为B 。那么上面的关系可以表示为:B = A

4、 或 B = not A 。 称为非运算,或称逻辑非。 (二)Ver:1.003.4 逻辑运算与、或、非是逻辑代数的三个基本运算。逻辑代数是这 样一种代数系统:它有两个基本逻辑值:0(假)和1(真)。而 且经过逻辑运算得到的结果仍是这两个基本值之一,即具有 封闭性。有一组基本运算:and(与),or(或),not(非)。 逻辑代数满足下面的基本定律:(1)交换率:A or B = B or A,A and B = B and A(2)结合率:( A or B ) or C = A or ( B or C )( A and B ) and C = A and ( B and C )(3)幂等率:

5、A and A = A,A or A = A(4)吸收率:A and ( A or B ) = A,A or (A and B ) = A(5)分配率:A and ( B or C ) = A and B or A and CA or ( B and C ) = ( A or B ) and ( A or C )(6)存在单位元素:A or 0 = A,A or 1 = 1A and 1 = A,A and 0 = 0(二)Ver:1.003.4 逻辑运算按位逻辑运算在计算机中,除了单位的0和1可以进行逻辑运算,整数 和小数,同样也可以进行逻辑运算。217 and 156 = ? 25 or

6、-52=?在对整数和小数进行逻辑计算之前,先将其转换成二进 制,然后将小数点对齐,按照每一位进行逻辑运算。再将结 果转换成相应的进制。 (217)10 = (11011001)2 (156)10 = (10011100)21 1 0 1 1 0 0 1and 1 0 0 1 1 1 0 01 0 0 1 1 0 0 0 (10011000)2 = (152)10(25)10 = (00011001)2 (-52)10 = (10110100)20 0 0 1 1 0 0 1and 1 0 1 1 0 1 0 01 0 0 1 0 0 0 0 (10010000)2 = (-16)10(二)Ve

7、r:1.003.5 算术运算3.5 算术运算算术运算就是对数字的计算。在加、减、乘、除四种运 算中,最基本的运算是加法。大家已经知道,乘法可以由加 法实现,除法可以由减法实现。其实在计算机中,减法也是 由加法实现的,方法是使用补码。既然如此,除法自然也可 以由加法实现。因此,从原理上说,计算机只要做加法运算 即可完成各种数值计算。 例如:7 + 6 = 12 7 6 = 7 + (-6) = 17 X 6 = 7 + 7 + 7 + 7 + 7 + 7 = 4218 3 = 18 3 3 3 3 3 3,减了6次,得结果6实际的除法并不是这样计算,是使用到减法和移位两种 运算进行计算的。(二)

8、Ver:1.003.5 算术运算数的表示方式:为了方便计算,数在计算机中,并不是完全以真值的2 进制码来表示数。在计算机中,数的表示方式主要有3种: 原码、补码和反码。原码:用真实的二进制值直接表示的数码就叫原码。原 码表示法在数值前面增加了一位符号位,该位为0表示正数 ,该位为1表示负数。反码:正整数的反码就是其自身,而负整数的反码可以 通过对其绝对值逐位求反来求得。补码:机器数的补码可由原码得到。如果机器数是正数 ,则该机器数的补码与原码一样;如果机器数是负数,则该 机器数的补码是对它的原码(除符号位外)各位取反,并在 未位加1而得到的。(二)Ver:1.003.5 算术运算原码上节课讲到

9、的:为了表示数的符号,可在数的最高位之 前增设一位符号位,符号位为 0 表示正数,符号位为 1 表示 负数,这样规定的二进制码,我们称为原码。原码的表示范 围是(-127-0 +0127)共256个。 例如:(假设机器字长为 8 位) X1 = + 1011010 则 X1原 = 01011010X2 = - 1011010 则 X2原 = 11011010很快人们发现用带符号位的原码在加减运算的时候,会 出现了问题。如下: 假设字长为8bits:( 1 ) 10- ( 1 )10 = ( 1 )10 + ( -1 )10 = ( 0 )10(00000001)原 + (10000001)原

10、= (10000010)原 = ( -2 )显然不正确.(二)Ver:1.003.5 算术运算反码因为在两个整数的加法运算中是没有问题的,于是就发 现问题出现在带符号位的负数身上。对除符号位外的其余各位逐位取反就产生了反码。反码 所表示的数和原码相同且一一对应。下面是反码的减法运算 : ( 1 ) 10 - ( 2 )10 = ( 1 )10 + ( -2 )10 = ( -1 )10(00000001) 反+ (11111101)反 = (11111110)反 = ( -1 ) 不难看到,这个结果是正确的。可是我们再看一道题:( 1 )10 - ( 1 ) 10= ( 1 ) 10+ ( -

11、1 ) 10= ( 0 )10(00000001) 反+ (11111110)反 = (11111111)反 = ( -0 ) 虽然结果是-0,也就是0,没有什么问题。可是这样反 码中就出现了两个0:+0(00000000)反与-0(11111111)反(二)Ver:1.00补码反码的问题出现在(+0)和(-0)上,在人的计算概念中零是 没有正负之分的。于是就引入了补码概念。负数的补码就是对反码加一,而 正数不变,正数的原码、反码和补码都是一样的。在补码中 用(-128)代替了(-0)。所以补码的表示范围为(-1280127)共 256个。注意:(-128)没有相对应的原码和反码。( 1 )

12、10- ( 1 ) 10= ( 1 )10 + ( -1 )10 = ( 0 )10(00000001)补 + (11111111)补 = (00000000)补 = ( 0 ) ( 1 ) 10- ( 2) 10= ( 1 )10 + ( -2 )10 = ( -1 )10(00000001) 补+ (11111110) 补= (11111111)补 = ( -1 ) 不难看到,这两个结果都是正确的。(二)Ver:1.00二进制的乘法两个二进制数相乘与十进制数相乘类似,可以用乘数的 每一位去乘被乘数,乘得的中间结果的最低有效位与相应的 乘数对齐,最后把这些中间结果同时相加即可。被乘数: 1

13、1 1 0乘数:X ) 0 1 1 00 0 0 01 1 1 01 1 1 0 + ) 0 0 0 0 积: 1 0 1 0 1 0 0(二)Ver:1.00上述方法要求几 个中间结果同时相加 ,但计算机一次只能 实现两个二进制数相 加。因此,实际上, 计算机内对两个二进 制数进行乘法运算时 ,通常采用边乘边移 位相加的办法。如 101x110步骤如右边 所示:不难看出,虽然 步骤多了,但计算机1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 1 0 1 0 0 1 0 1 0 1 0 1 1 1 1 1 0被乘数 乘 数 X) 初始积 乘数0,加全0 +) 第一部分积 右移一位 乘数1,加被乘数 +) 第二部分积 右移一位 乖数1,加被乘数 +) 结果只执行移位和两个二进制数相加操作。计算机中的除法比较复杂,主要有恢复余数法和加减交 替法等。这里就不多做说明了。(二)Ver:1.001.6 提问环节(二)Ver:1.00(二)

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 高等教育 > 大学课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号