计算机组成原理 移位运算终稿.pptx
12页第三章 运算方法与运算部件3-1 移位操作、十进制运算及逻辑运算3-1 移位操作、十进制运算及逻辑运算移位的意义:是计算机运算的基础,最基本最常见的运算操作之一,因此将本内容提前移位操作按移位性质分:逻辑移位:整组数据移位,只有数字位置的变化,无数量的变化循环移位:数据本身形成闭合环路算术移位:带符号的数移位,符号不变、数量变化重点 左移、右移3-1 移位操作、十进制运算及逻辑运算0 0 1 1 1 1 0 0 0 0 1 1 0 0左移一位+(25+24+21)=+50+(26+25+22)=+1000 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0符号位不变,依次左移,出现末位空位数量上有什么变化呢?二倍3-1 移位操作、十进制运算及逻辑运算0 0 0 0 1 1 1 1 0 0 0 0 1 1 0 0右移一位0 00 0 1 1 1 1 0 0 0 0 1 1右移后最高有效位也出现了空位,数量也有变化计算机固定机器字长怎么办?+(24+23+20)=+25+(25+24+21)=+501/23-1 移位操作、十进制运算及逻辑运算(一)算术移位规则前提:移位后,符号为保持不变(1)原码移位规则不论正数还是负数,原码移位规则相同左移:符号位不变依次左移,末位补0 0;右移:符号位不变依次右移,最高有效位补0 0注意:注意:若左移前最高有效位已经为1,将溢出!溢出!3-1 移位操作、十进制运算及逻辑运算例:原码移位,X原 = 1 01010101 左 移: X左 = 1 10101010 右 移: X右 = 1 001010103-1 移位操作、十进制运算及逻辑运算(2)补码右移规则连同符号位一起,依次右移,符号位保持不变正数补码,右移,相当于补0负数补码,右移,相当于补1 例:X补=11010010 右移:X补=111010013-1 移位操作、十进制运算及逻辑运算(3)补码左移规则规则:各位依次左移,最高有效位左移至符号位,末位补0例: X补= 11010010左移:X补= 10100100注:若左移溢出,单符号位将破坏正确符号3-1 移位操作、十进制运算及逻辑运算(二)逻辑移位移位对象:一组无数值意义的二进制代码仅仅数码位置变化,数值大小无变化规则: 左移,低位补0 右移,高位补03-1 移位操作、十进制运算及逻辑运算(三)循环移位规则:闭合移位环路,数据最高位与最低位之间有位移通路。
注:符号位参与环路中0 01 11 10 01 10 01 11 10 01 11 10 01 10 01 11 13-1 移位操作、十进制运算及逻辑运算二、十进制运算(8421码)例1:13+12 0001 0011 (13)+ 0001 0010 (12) 0010 0101 (25) 例2:18+19 0001 1000 (18)+ 0001 1001 (19) 0011 0001 (31) 例3:15+16 0001 0101 (15)+ 0001 0110 (16) 0010 1011 (不存在)分析:例2中发生半进位,低四向高四进位; 例3出现了8421码中不存在的1011修正:若相加之和小于等于1001,不需修正; 反之,需“加6”修正3-1 移位操作、十进制运算及逻辑运算三、逻辑运算“0”、“1”表示逻辑变量和逻辑值用触发器两个状态不同电位表示(1)逻辑“与”运算0 0=0;0 1=0;1 0=1;1 1=1(2)逻辑“或”运算00=0;0 1=1;1 0=1;1 1=1(3)逻辑“非”运算 1=0;0=1(4)逻辑“异或”运算00=0;01=1;10=1;11=0。





