《计算机科学导论》第四章课后作业解答(个人版)

1.逻辑运算和算术运算有什么区别?

算术运算就是平常我们所用的加减乘除,而逻辑运算是在二进制位上进行非、与、或和异或运算,逻辑运算中的二进制位只有两种状态:0(假)和1(真),结果中的二进制位也只有这两种状态。

4.解释“溢出”这个词。

当我们进行计算机数字中的算术运算时,要记住每个数字和结果应该在分配的二进制位的定义范围之内。若计算结果无法用被分配的二进制位数来正确表示时,该结果出现溢出。

5.在浮点数的加法运算中,怎样调整指数不同的数的表示方法?

在运算中先以某个数的指数为标准,通过去规范化使其它的数的指数与该指数相同,相加后再次规范化即可。

7.二元逻辑运算有哪些?

与、或、异或。

8.什么是真值表?

真值表定义了对于每一种可能的输入或输出值。

13.说出本章讨论的AND运算符的一个重要特性。

若输入中有一位是0,则不需要检查其他输入的相应的位,便可迅速得到结果为0.

14.说出本章讨论的OR运算符的一个重要特性。

若输入中有一位是1,则不需要检查其他输入的相应的位,便可迅速得到结果为1.

15.说出本章讨论的XOR运算符的一个重要特性。

若输入中有一位是1,那结果就是与其他输入中相应位相反。

16.哪种二元运算可以用来置位?掩码应该用什么位模式?

OR运算。掩码的位模式中的1用于置位,而0保持相应的位状态不变。

17.哪种二元运算可以用来复位?掩码应该用什么位模式?

AND运算。掩码的位模式中的0用于复位,而1保持相应的位状态不变。

18.哪算二元运算可以用来反转?掩码应该用什么位模式?

XOR运算。掩码的位模式中的1用于反转,而0保持相应的位状态不变。

19.逻辑和算术移位间的区别是什么?

逻辑移位用于不带符号位的数的模式,右移把每一位向右移动一个位置,最右位被丢弃,最左位填0;左移把每一位向左移动一个位置,最左位被丢弃,最右边填0.

算术移位用于二进制补码格式的位模式中,右移保留符号位,同时复制该符号位,放入相邻的右边的位中;左移丢弃符号位,接受它的右边的位作为符号位。

20._______是算术运算。       c.减法

21._______是逻辑运算。       d.异或、一元非、二元与

22._______描述整数的方法是计算机存储中最常用的方法。         c.二进制补码

23.二进制补码加法中,如果是最左边一列相加后产生进位,则________.           c.舍弃

24.一个8位分配单元,用二进制补码能表示的最小十进制数是________.            c.-128

25.一个8位分配单元,用二进制补码能表示的最大十进制数是________.            c.127

26.一个4位分配单元,用二进制补码表示,1加7能得到________.             d.-8

27.一个4位分配单元,用二进制补码表示,5加5得到________.            b.-6

28.如果在余127码中的指数表示为二进制1000 0101,那么十进制中的指数是_______.          a.6

29.两个数相加,一个指数值为7,另一个指数值为9,则需要将较小数的小数点________.          b.左移两位

30.二元运算符_______取两个输入产生一个输出。       d.AND、XOR、OR

36.可以使用一种叫做_______的位模式修改另一个位模式。        a.掩码

37.要反转一个位模式全部的位,使用全1掩码,对位模式和掩码进行_______运算。        b.XOR

38.要复位(置0)一个位模式全部的位,对位模式和掩码进行_______运算。         a.AND

39.要置位(置1)一个位模式全部的位,对位模式和掩码进行_______运算。         b.OR

40.显示下列运算的结果。

a.NOT(99)16            →   NOT(1001 1001)2   →   (0110 0110)2

b.NOT(FF)16            →   NOT(1111 1111)2   →   (0000 0000)2

c.NOT(00)16            →   NOT(0000 0000)2   →   (1111 1111)2

d.NOT(01)16            →   NOT(0000 0001)2   →   (1111 1110)2

41.求下列运算结果。

a.(99)16 AND (99)16            →   (1001 1001)2 AND (1001 1001)2   →   (1001 1001)2

b.(99)16 AND (00)16            →   (1001 1001)2 AND (0000 0000)2   →   (0000 0000)2

c.(99)16 AND (FF)16            →   (1001 1001)2 AND (1111 1111)2   →   (1001 1001)2

d.(FF)16 AND (FF)16            →   (1111 1111)2 AND (1111 1111)2   →   (1111 1111)2

42.求下列运算结果。

a.(99)16 OR (99)16            →   (1001 1001)2 OR (1001 1001)2   →   (1001 1001)2

b.(99)16 OR (00)16            →   (1001 1001)2 OR (0000 0000)2   →   (1001 1001)2

c.(99)16 OR (FF)16            →   (1001 1001)2 OR (1111 1111)2   →   (1111 1111)2

d.(FF)16 OR (FF)16            →   (1111 1111)2 OR (1111 1111)2   →   (1111 1111)2

43.求下列运算结果。

a.NOT [(99)16 OR (99)16]              →   NOT (1001 1001)2    →    (0110 0110)2

b.(99)16 OR [NOT (00)16]              →    (1001 1001)2 OR (1111 1111)2    →     (1111 1111)2

c.[(99)16 AND (33)16] OR [(00)16 AND (FF)16]             →    [(1001 1001)2 AND (0011 0011)2] OR [(0000 0000)2 AND (1111 1111)2 ]

→    (0001 0001)2 OR (0000 0000)2

→    (0001 0001)2

d.[(99)16 OR (33)16] AND [(00)16 OR (FF)16]             →    [(1001 1001)2 OR (0011 0011)2] AND [(0000 0000)2 OR (1111 1111)2 ]

→    (1011 1011)2 AND (1111 1111)2

→    (1011 1011)2

51.用8位分配单元,首先把下列数转换成二进制补码,然后运算,再把结果转成十进制。

a.19 + 23                 →     (0001 0011)2 + (0001 0111)2 = (0010 1010)2 = 42

b.19 - 23                 →     (0001 0011)2 - (0001 0111)2 = (0001 0011)2 + (1110 1001)2 = (1111 1100)2 = -4

c.-19 + 23                 →     (1110 1101)2 + (0001 0111)2 = (0000 0100)2 = 4

d.-19 - 23                 →     -(0001 0011)2 - (0001 0111)2 = (1110 1101)+ (1110 1001)2 = (1101 0110)2 = -42

52.用16位分配单元,先把下列数转换成二进制补码,然后运算,再把结果转成十进制。

a.161 + 1023                 →     (0000 0000 1010 0001)2 + (0000 0011 1111 1111)2 = (0000 0100 1010 0000) = 1184

b.161 - 1023                 →     (0000 0000 1010 0001)2 + (1111 1100 0000 0001)2 = (1111 1100 1010 0010) = -862

c.-161 + 1023                 →     (1111 1111 0101 1111)2 + (0000 0011 1111 1111)2 = (0000 0011 0101 1110) = 862

d. -161 - 1023                 →     (1111 1111 0101 1111)2 + (1111 1100 0000 0001)2 = (1111 1011 0110 0000) = -1184

53.如果数字都用8位二进制补码表示,下列哪个运算会溢出?        c. 1100 0010 + 1111 1111

54.如果数字和结果都用8位二进制补码表示,不通过实际的计算,能说出下列哪个运算会溢出吗?        a. 32 + 105 和 d. -32 - 105

56.使用一个8位的分配单元,首先把下列每个数字转化为符号加绝对值表示法,进行运算,然后把结果转化为十进制。

a.19 + 23             →    (0 001 0011)2 + (0 001 0111)2 = (0 010 1010)2 = 42

b.19 - 23             →    (0 001 0011)2 + (1 001 0111)2 = (0 001 0011)2 + (1 110 1001)2 = (1 111 1100)2 = (1 000 0100)2 = -4

c.-19 + 23             →    (1 001 0011)2 + (0 001 0111)2 = (0 110 1101)2 + (0 001 0111)2 = (0 000 0100)2 = 4

d.-19 - 23             →    (1 001 0011)2 + (1 001 0111)2 = (1 010 1010)2 = -42

57.计算下列使用IEEE_127的浮点数运算结果。

a. 34.75 + 23.125

34.75    →    (100010.11)2    →    (1.0001011)2 × 25    →    0    1000 0100    10001 0110 0000 0000 0000 000

23.125    →    (10111.001)2    →    (1.0111001)2 × 24    →    0    1000 0011    10111 0010 0000 0000 0000 000

→    0    1000 0100     01011 1001 0000 0000 0000 000

相加后              0     1000 0100    11100 1111 0000 0000 0000 000

规范化              0     1000 0100      1100 1111 0000 0000 0000 000

即              (1.11001111) × 25 = 111001.111 = 57.875

b. -12.625 + 451.00

-12.625     →     -(1100.101)2     →     -(1.100101)2 × 23    →    1    1000 0010    11001 0100 0000 0000 0000 000

→    1    1000 0111    00000 1100 1010 0000 0000 000

→    1    1000 0111    11111 0011 0110 0000 0000 000

451.00    →    (111000011)2    →    (1.11000011)2 × 28    →    0    1000 0111    11100 0011 0000 0000 0000 000

相加后                     0    1000 0111    11011 0110 0110 0000 0000 000

规范化                     0    1000 0111      1011 0110 0110 0000 0000 000

即                     (1.101101100110) × 28 = 110110110.0110 = 438.375

c. 33.1875 - 0.4375

33.1875     →     (100001.0011)2     →     (1.000010011)2 × 25    →   0    1000 0100     10000 1001 1000 0000 0000 000

-0.4375       →      -(0.0111)2          →          -(1.11)2 × 2-2         →       1    0111 1101     11100 0000 0000 0000 0000 000

→       1    1000 0100      00000 0011 1000 0000 0000 000

→       1    1000 0100      11111 1100 1000 0000 0000 000

相加后                     0    1000 0100      10000 0110 0000 0000 0000 000

规范化                     0    1000 0100        0000 0110 0000 0000 0000 000

即                     (1.0000011) × 25 = 100000.11 = 32.75

d. -344.3125 - 123.5625

-344.3125  →   -(101011000.0101)2     →     -(1.010110000101)2 × 28    →   1    1000 0111     10101 1000 0101 0000 0000 000

-123.5625  →   -(1111011.1001)2         →     -(1.1110111001)2 × 26       →     1    1000 0101     11110 1110 0100 0000 0000 000

→1    1000 0111     00111 1011 1001 0000 0000 000

相加后                1    1000 0111     11101 0011 1110 0000 0000 000

规范化                1    1000 0111       1101 0011 1110 0000 0000 000

即                -(1.11010011111) × 28 = -111010011.111 = -467.875

58.下列哪种情况永不发生溢出?证明你的观点。           b.正整数加负整数   和   d.两个负整数相减

59.把一个整数加到它的反码上的结果是什么?             该数的位模式上全部为1

(完)

时间: 2024-10-10 15:29:27

《计算机科学导论》第四章课后作业解答(个人版)的相关文章

《计算机科学导论》第二章课后作业解答(个人版)

1.定义一个数字系统. 数字系统定义了如何用独特的符号表示一个数字.在不同的系统中,数字有不同的表示方法 2.辨析位置化和非位置化数字系统. 位置化数字系统中,数字中符号所占据的位置决定了其表示的值:非位置化数字系统中,符号所占用的位置通过与其值无关——每个符号的值都是固定的. 3.定义位置化数字系统中的底或基数.位置化数字系统中底与符号的数量有什么关系? 底与位置化数字系统中符号所表示的值有关.位置化数字系统中底与符号的数量相同. 4.简述十进制系统.为什么称作decimal?该系统的底是多少

《计算机科学导论》第一章课后作业解答(个人版)

1.定义一个基于图灵模型的计算机. 这是一种图灵设想的通用计算设备,所有的计算都可以在这种设备上运行.通过给这种计算机输入数据,计算机中的程序就可以指导计算机来给数据进行处理,处理完后输出结果. 2.定义一个基于冯·诺伊曼模型的计算机. 基于冯·诺伊曼模型的计算机由存储器.算术逻辑单元.控制单元和输入/输出单元组成.存储器用来存储数据和程序:算术逻辑单元用来进行计算和逻辑运算:控制单元对该计算机内的子系统进行控制:输入/输出于从外部接收输入数据和程序以及将计算机的处理结果输出到计算机外部. 3.

《计算机科学导论》第三章课后作业解答(个人版)

1.说出5种计算机可以处理的数据. 数字.文本.音频.图像和视频. 2.位模式的长度如何与其能表示的符号数量相关? 若位模式的长度为n,则其能表示的符号数量为2n. 3.位图方法是如何以位模式来表示一个图像的? 一张图像由模拟数据组成,数据密度(色彩)因空间变化,意味着数据需要采样.样本被称为像素,换言之,整个图像被分成小的像素,每个像素有单独的密度值,而该值由位模式表示. 4.矢量图方法优先于位图方法的优点是什么?其缺点又是什么? 矢量图图像编码方法并不存储每个像素的位模式.一个图像被分解成几

《计算机科学导论》第五章课后作业解答(个人版)

1.计算机由哪三个子系统组成? CPU.主存和输入/输出子系统. 2.CPU由哪几个部分组成? 算术逻辑单元(ALU),控制单元和一系列寄存器. 3.ALU的功能是什么? 算术逻辑单元负责算术.移位和逻辑运算. 4.控制单元的功能是什么? 控制单元控制各个子系统的操作. 5.主存的功能是什么? 存储数据和程序指令. 6.定义RAM.ROM.SRAM.DRAM.PROM.EPROM和EEPROM. 存储器的类型主要有两种:RAM和ROM. RAM:随机存取存储器是计算机中主存的主要部分.可以使用存

补基础:自学:计算机科学导论 第四章 数据运算

4.1 逻辑运算:指那些应用于模式中的一个二进制位,或在两个模式中相应的两个二进制位的相同基本运算. 4.1.1 位层次上的逻辑运算 0 代表逻辑 假, 1 代表逻辑 真. 4种操作: 非(NOT):只有一个输入 如果输入是0, 则输出为1.反之亦然 应用:对整个模式求反 与(AND)有两个输入 如果输入都是1, 则输出为1.输入中只要有一位是0,则结果为0 应用:把一个位模式的指定位复位(置0).这种情况下,第二个输入称为掩码,掩码中的0位对第一个输入中相应的位进行复位. 或(OR)有两个输入

S2T40.第四章.课后作业.20170407

简答题4:  简答题4效果图如下: ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ 简答题5: 简答题5效果图如下:

网络操作系统第四章课后习题解答

1.磁盘的数据结构包括哪些内容? (1)主引导扇区; (2)操作系统引导扇区; (3)文件分配表; (4)目录区; (5)数据区. 2.什么是基本磁盘和动态磁盘? 基本磁盘: 基本磁盘和旧版本Windows操作系统中使用了相同的磁盘结构.在使用基本磁盘时,我们被限制只能在每个磁盘上创建4个主分区或3个主分区加1个扩展分区.在扩展分区内,还可以创建一个或多个逻辑驱动器. 动态磁盘: 动态磁盘功能最初发布于Windows 2000,用于增强磁盘支持,在磁盘配置变动后需要重启动的次数更少,同时对磁盘的

第四章家庭作业4.45

第四章家庭作业---4.45 题目要求: A 用指针索引的方式编写相同的数组索引的冒泡程序C代码 B 将所得的C程序用Y86程序表述出来 解题思路: 1 将题目所给的数组元素代码转换成指针索引的代码 具体方法为:将指针赋给数组的头地址,然后按位移动指代 C格式:int *data=a; *(data+i); 2 将程序复写,并加入头文件以及主函数使其能正常调用以及相应传参 3 将所得的C程序汇编一下获得相应的汇编代码 格式:gcc -S xxx.c  -o  xxx 4 利用所得的汇编代码,用正

C++ Primer 第四版课后练习解答 习题1.1

注意:本随笔是在<C++Primer(第四版)习题解答(完整版)>中直接抄录的.此处主要是便于本人以后反复阅读. 习题1.1 查看所用的编译器文档,了解它所用的文件命名规范.编译并运行本节的main程序. [解答] 一般而言,C++编译器要求编译的程序保存在文件中.C++程序一般涉及两类文件:头文件和源文件.大多数系统中,文件的名字由文件名和文件后缀(又称扩展名)组成.文件后缀通常表明文件的类型,如头文件的后缀可以是.h或.hpp等:源文件和后缀可以是.cc或.cpp等,具体的后缀与使用的编译