第四章
复习题
Q4-1 算术运算与逻辑运算有什么区别?
A:算术运算将位模式解释为数字。逻辑运算将每个位解释为逻辑值(真或假)
Q4-2 在二进制补码格式的整数相加中,最左边一列是怎样进位的?
A:与其他位一样进位
Q4-3 n的位分配单位可以等于1吗?为什么?
A:位分配可以是1。在这种情况下,数据类型通常表示逻辑价值
Q4-4 解释“溢出”这个词。
A:计算机中,当要表示的数据超出计算机所使用的数据的表示范围时,则产生数据溢出;两 个正数相加,若结果为负,称为上溢,两个负数相加,若结果为正,称为下溢。
Q4-5 在浮点数的加法运算中,怎样调整指数不同的数的表示方法?
A:略
Q4-6 一元运算和二元运算有何不同?
A:需要输入参数个数不同,一元运算符只需要一个输入值,二元运算符需要两个输入值
Q4-7 二元逻辑运算有哪些?
A: AND / OR / XOR
Q4-8 什么是真值表?
A:逻辑运算中,输入值与对应输出值的表格
Q4-9 NOT运算符的作用是什么?
A: 取反操作
Q4-10 AND运算符的结果何时为真?
A: 当输入值均为1时
Q4-11 OR运算符的结果何时为真?
A:输入值至少有一个为1时
Q4-12 XOR运算符的结果何时为真?
A:两个输入值不相同时
Q4-13 说出AND运算符本章讨论的一个重要特性。
A:复位(置0)
Q4-14 说出OR运算符本章讨论的一个重要特性。
A:置位(置1)
Q4-15 说出XOR运算符本章讨论的一个重要特性。
A:反转
Q4-16 何种二元运算可以用来置位?掩码应该用什么位模式?
A: OR 掩码均为1
Q4-17 何种二元运算可以用来复位?掩码应该用什么位模式?
A:AND 掩码均为0
Q4-18 何种二元运算可以用来反转?掩码应该用什么位模式?
A: XOR(异或) 掩码均为1
Q4-19 逻辑和算术移位间的区别是什么?
A:算数移位运算实际上是进行乘除运算
练习题
P4-1 a.(66)16 b.(00)16 c.(FF)16 d.(FE)16
P4-2 a.(99)16 b.(00)16 c.(99)16 d.(FF)16
P4-3 a.(99)16 b.(99)16 c.(FF)16 d.(FF)16
P4-4 a.(66)16 b.(FF)16 c.(11)16 d.()16
P4-5 AND运算 掩码最左四位为0,其余为1
P4-6 OR运算 掩码最右四位为1,其余为0
P4-7 XOR运算 掩码最左2位,最右3位为1,其余为0
P4-8 AND运算 掩码最左3位,最右2位为0,其余为1
P4-9 二进制中,右移2位
P4-10 二进制中,左移3位
P4-11 第四位:右移3位,最右一位置位运算 第五位:右移四位,最右一位置位运算
P4-12 a.19+23=0001 0011+0001 0111=0010 1010=42
b.19-23=0001 0011+1110 1001=1111 1100=-4
c.-19+23=1110 1101+0001 0111=0000 0100=4(发生溢出)
d.-19-23=1110 1101+1110 1001=1101 0110=-42(发生溢出)
P4-13
a.161+1023=0000 0000 1010 0001+0000 0011 1111 1111=0000 0100 1010 0000=1184
b.161-1023=0000 0000 1010 0001+1111 1100 0000 0001=1111 1100 1010 0010=-862
c.-161+1023=1111 1111 0101 1111+0000 0011 1111 1111=0000 0011 0101 1110=862(溢出)
d.-161-1023=1111 1111 0101 1111+1111 1100 0000 0001=1111 1011 0110 0000=-1184(溢出)
P4-14 c(进位不一定会溢出)
P4-15 ad(同上)
P4-16
P4-17 略
P4-18 略
P4-19 均可能发生溢出,不存在永不会溢出的情况
P4-20 二进制中,各位数码均为1,十进制中,各位数码均为9
P4-21 考虑溢出的话,为0