1.真值和机器数的关系是什么?

答:在计算机内部用二进制编码表示的数称为机器数,而机器数真正的值(即原来带有正负号的数)称为机器数的真值。

2.什么是编码?

答:用少量简单的基本符号,对大量复杂多样的信息进行一定规律的组合。基本符号的种类和组合规则是信息编码的两大要素。例如,用10个阿拉伯数字表示数值,电报码中用4位十进制数字表示汉字,等等,都是编码的典型例子。计算机内部处理的所有信息都是“数字化编码”了的信息。

3.什么是数字化编码”?

答:“数字化编码”就是对感觉媒体信息(如:数值、文字、图像、声音、视频等信息)进行定时采样,将现实世界中的连续信息转换为计算机中的离散的“样本”信息,然后对这些离散的“样本”信息进行二进制编码。

4.计算机内部为什么用二进制来编码所有信息?

答:主要有三个方面的原因:

(1)二进制系统只有两个基本符号:“0”和“1”。所以,它的基本符号少,易于用稳态电路实现;

(2)二进制的编码/计数/运算等的规则简单;

(3)二进制中的“0”和“1”与逻辑命题的“真”和“假”的对应关系简单

5.什么叫数值数据?

答:数值数据有确定的值,即在数轴上能找到其对应的点,可以比较其大小。确定一个数值数据的值有三个要素:进位计数制、定/浮点表示和数的编码表示。也就是说,给定一个数字序列,如果不说明这个数字序列是几进制数、小数点的位置在哪里、采用什么编码方式,那么这个数字序列的值是无法确定的。或者说,同一个数字序列可能有不同的值。

6.计算机内都用二进制表示信息,为什么还要引入八进制和十六进制?

答:计算机内部在进行信息的存储、传送和运算时,都是以二进制形式来表示信息的。但在屏幕上或书本上书写信息时,由于二进制信息位数多,阅读、记忆也不方便。而十六进制、八进制和二进制的对应关系简单。所以引入十六进制或八进制。在开发程序、调试程序、阅读机器内部代码时,人们经常使用八进制或十六进制来等价地表示二进制信息。

7.如何表示一个数值数据?计算机中的数值数据都是二进制数吗?

答:在计算机内部,数值数据的表示方法有两大类:

① 直接用二进制数表示

分为无符号数和有符号数,有符号数又分为定点数表示和浮点数表示。无符号数用来表示无符号整数(如:地址等信息);定点数用来表示整数;浮点数用来表示实数。

② 采用二进制编码的十进制数表示(Binary Coded Decimal Number,简称BCD码)BCD码的编码方案很多,但一般都采用8421码(也称为NBCD码)来表示。用来表示整数。

所以,计算机中的数值数据虽然都用二进制来编码表示,但不全是二进制数,也有用十进制数表示的。所以,后面一章有关指令类型中,就有对应的二进制加法指令和十进制加法指令。

8.为什么要引入无符号数表示?

答:一般在全部是正数运算且结果不出现负值的场合下,可以省略符号位,使用无符号数表示。例如在进行地址运算时可用无符号数。

9.在高级语言编程中所定义的unsigned型数据是怎么表示的?

答:unsigned型数据就是无符号数,不考虑符号位,直接用二进制对数值进行编码得到的就是无符号数。

10.为什么无符号整数结果会发生“溢出”? 什么叫无符号整数的“溢出”?

答:计算机的机器字长总是有限的,因而机器数的位数有限,所以可表示的数的个数有限。对于n位二进制数,只能表示2n个不同的数,因此有很多数用n位无法表示。

对于无符号定点整数来说,计算机运算过程中一般保留低n位,舍弃高位。这样,会产生两种结果:

① 剩下的低n位数不能正确表示运算结果。这种情况下,意味着运算的结果超出了计算机能表达的范围,有效数值进到了第n+1位,我们称此时发生了“溢出” 现象。

② 剩下的低n位数能正确表达计算结果,也即高位的舍去并不影响其运算结果。

“span对一个多于n位的数丢弃高位而保留低n位数”这样一种处理, 实际上等价于“将这个多于n位的数去除以2n,然后丢去商保留其余数”的操作。这种操作运算就是“模运算”。在一个模运算系统中,运算的结果最终都是丢弃高位,只截取低n位。所以,只要不是“溢出”,即:只要真正的值不会进到第n+1位,结果就是正确的。这是模运算系统的特点。

11.为什么现代计算机都用补码来表示整数?

答:补码表示定点整数时,和原码、反码相比,有以下四个好处:

(1)符号位可以和数值位一起参加运算

(2)可以用加法方便地实现减法运算

(3)零的表示唯一

(4)可以多表示一个最小负数

所以,现代计算机都用补码来表示定点整数。

12.n位二进制补码整数的模是多少?数的表示范围是多什么?

答:n位二进制补码整数的模是2n,表示只保留低n位,多于n位的高位部分取模后要被丢弃掉。这种形式的数的范围为-2(n-1) ~ +2(n-1) -1。

13.在高级语言编程中定义的shotr / int / long型数据是怎么表示的?

答:int型数据就是定点整数,现代计算机一般用补码表示。int型数据的位数与运行平台和编译器有关,一般是32位或16位。long型数据和short型数据也都是定点整数,用补码表示,只是位数不同,分别是长整型和短整型数。

14.定点整数在数轴上分布的点之间都是等距的吗?

答:是的。定点整数在数轴上的点总是在整数值上,即:[……,-5,-4,-3,-2,-1,0,1,2,3,4,5,……],相邻数据间隔总是1。

15.定点整数运算要考虑加保护位和舍入吗?

答:不需要。整数运算的结果还是整数,没有误差,无需考虑加保护位,也无需考虑舍入。但运算结果可能会“溢出”。

16.为什么要引入浮点数表示?

答:因为定点数不能表示实数,而且表数范围小。所以,要引入浮点数表示。

17.为什么浮点数的阶(指数)要用移码表示?

答:因为在浮点数的加减运算中,要进行对阶操作,需要比较两个阶的大小。移码表示的实质就是把阶加上一个偏置常数,使得所有数的阶码都是一个正整数,比较大小时,就只要按高位到低位顺序比较就行了,因而,引入移码可以简化阶的比较过程。

18.浮点数如何表示0?

答:用一种专门的位序列表示0,例如,IEEE754单精度浮点数中,用“0000 0000H”表示+0,用“8000 0000H”表示-0。当运算结果出现阶码过小时,计算机将该数近似表示为0。

19.现代计算机中采用什么标准来表示浮点数?

答:早期的计算机各自采用不同的浮点数表示格式,因而,在不同计算机之间进行数据交换时,就会发生数据不统一的问题。因而,提出专门制定了IEEE754标准用来规定计算机中的浮点数表示格式。所以,现代计算机中都采用IEEE754标准来表示浮点数。

20.如何判断一个浮点数是否是规格化数?

答:为了使浮点数中能尽量多地表示有效位数,一般要求运算结果用规格化数形式表示。规格化浮点数的尾数小数点后的第一位一定是个非零数。因此,对于原码编码的尾数来说,只要看尾数的第一位是否为1就行;对于补码表示的尾数,只要看符号位和尾数最高位是否相反。

21.浮点数表示的精度和数值范围取决于什么?

答:在浮点数总位数不变的情况下,阶码位数越多,则尾数位数越少。即:表数范围越大,则精度越差(数变稀疏)。

22.基数的大小对表数范围和精度有什么影响?

答:基数越大,则范围越大,但精度变低(数变稀疏)。

23.在高级语言编程中定义的float / double型数据是怎么表示的?

答:float型数据是用来表示实数的浮点数。现代计算机用IEEE754标准表示浮点数,其中32位单精度浮点数就是float型。64位双精度浮点数就是double型。

24.位数相同的定点数和浮点数中,可表示的浮点数个数比定点数个数多吗?

答:不是的。可表示的数据个数取决于编码所采用的位数。编码位数一定,则编码出来的数据个数就是一定的。n位编码只能表示2n个数,所以,对于相同位数的定点数和浮点数来说,可表示的数据个数应该一样多。(有时可能由于一个值可能有两个或多个编码对应,编码个数会有少量差异。但总体上是一样的。)

25.如何进行BCD码的编码?

答:每位十进制数的取值可以是0/1/2/…/9这十个数之一,因此,每一个十进制数位必须至少有4位二进制位来表示。而4位二进制位可以组合成16种状态,去掉10种状态后还有6种冗余状态,所以从16种状态中选取10种状态表示十进制数位0 ~ 9的方法很多,可以产生多种BCD码方案。大的方面可分为有权码和无权码两种。

有权码指表示每个十进制数位的四个二进制数位(称为基2码)都有一个确定的权。8421码是最常用的十进制有权码,ASCII码的数字编码采用的就是8421码;无权码指表示每个十进制数位的四个基2码没有确定的权。现代计算机中大多用8421有权码。

26.逻辑数据在计算机中如何表示?如何运算?

答:逻辑数据用来表示命题的“真”和“假”,分别用 “1”和“0”来表示。进行逻辑运算时,按位进行。

27.汉字的区位码、国标码和机内码有什么区别?

答:GB2312字符集由94行、94列组成,行号称为区号,列号称为位号,各占7位,共14位,区号在左、位号在右,称为汉字的区位码,它指出了该汉字在码表中的位置。

汉字的国标码是将区号、位号各加上32(即16进制的20H)后,再在前后各7位前加0。

汉字的内码需2个字节才能表示,可以在国标码的基础上产生汉字机内码。一般是将国标码两个字节的第一位置“1”后得到内码。

28.已知一个汉字的国标码为343AH,其区位码和机内码各是什么?

答:区位码是国标码的前后两个字节各减32(即:20H),所以得区位码为:343AH-2020H=141AH,所以区号为20,位号为26;机内码是国标码的两个字节的最前一位变为1,所以,机内码为B4BAH。

29.定点整数(用补码表示)运算时,如何判断结果溢出?

答:可以采用双符号位检测和单符号位检测两种判断方法。

1) 双符号位:采用“变形补码”进行补码运算和溢出检测。其判断规则为:“当结果的两个符号位不同时,发生溢出”。

2)单符号位:异号数相加不会溢出;对于同号数相加,则有两种判断规则:

规则1:“若结果的符号与两个加数的符号不同,则发生溢出。”

规则2:“若最高位的进位和次高位的进位不同,则发生溢出。

30.什么是浮点数的溢出?什么情况下发生上溢?什么情况下发生下溢?

答:浮点数的运算结果可能出现以下几种情况:

1)阶码上溢:当一个正指数超过了最大允许值,此时,浮点数发生上溢(即:向∞方向溢出)。如果结果是正数,则发生正上溢(有的机器把值置为+∞);如果是负数,则发生负上溢(有的机器把值置为-∞)。这种情况为软件故障,通常要引入溢出故障处理程序来处理。

2)阶码下溢:当一个负指数比最小允许值还小,此时,浮点数发生下溢。一般机器把下溢时的值置为0(+0或-0)。不发生溢出故障。

3)尾数溢出:当尾数最高有效位有进位时,发生尾数溢出。此时,进行“右规”操作:尾数右移一位,阶码加1,直到尾数不溢出为止。此时,只要阶码不发生上溢,则浮点数不会溢出。

4)非规格化尾数:当数值部分高位出现0时,尾数为非规格化形式。此时,进行“左规”操作:尾数左移一位,阶码减1,直到尾数为规格化形式为止。

31.为什么浮点数运算中要增加保护位?

答:为了使数据有效位在右移时最大限度地保证不丢失,一般在运算中间值后面增加若干数据位,这些位用来保存右移后的有效数据。增设保护位后,能保证运行的中间结果的有效位数,但最终必须将结果的保护位去掉,以得到规定格式的浮点数,此时要考虑舍入。

32.浮点数如何进行舍入?

答:舍入方法选择的原则是:(1)尽量使误差范围对称,使得平均误差为0,即:有舍有入,以防误差积累。(2)方法要简单,以加快速度。

IEEE754 有四种舍入方式:(1)就近舍入:舍入为最近可表示的数,若结果值正好落在两个可表示数的中间,则一般选择舍入结果为偶数。(2)正向舍入:朝+∞方向舍入,即:取右边的那个数。(3) 负向舍入:朝-∞方向舍入,即:取左边的那个数。(4)截去:朝0方向舍入。即:取绝对值较小的那个数。

33.无符号加法器如何实现?

答:计算机中,最基本的加法器是无符号加法器。根据进位方式的不同,有两种不同的实现方式:串行和并行。

(1)串行进位加法器(行波进位加法器):通过n个全加器按照串行方式连起来实现

(2)并行进位加法器(先行进位加法器):通过引入进位生成函数和进位传递函数,使得进位之间相互独立,并行产生。也称为快速加法器。

34.补码加法器如何实现?

答:在补码系统内,两个n位数做补码加法的原则是:两个n位数的补码相加,其结果中最高位的进位丢掉(模运算系统)。所以可用一个n位无符号加法器生成各位的和。

但是,最终的结果是否正确,取决于结果是否溢出,只要不溢出,结果一定是正确的。因此,补码加法器只要在无符号加法器的基础上再增加“溢出判断电路”即可。

35.在补码加法器中,如何实现减法运算?

答:补码减法的规则是:求两个数的差的补码,可用第一个数的补码加上另一数负数的补码得到。由此可见,减法运算可在加法器中运行。只要在加法器的一个输入端输入减数的负数的补码。求一个数的负数的补码电路称为“负数求补电路”。可以通过“各位取反、末尾加1”来实现“负数求补电路”。

36.现代计算机中是否要考虑原码加/减运算?如何实现?

答:因为现代计算机中浮点数采用IEEE754标准,所以在进行两个浮点数加减运算时,必须考虑原码的加减运算。因为,IEEE754规定浮点数的尾数都用原码表示。

原码的加减运算可以有以下两种方式实现:

(1)转换为补码后,用补码加减法实现,结果再转换为原码

(2)直接用原码加减运算,符号和数值部分分开进行。其步骤如下:

–比较两个操作数的符号

•加法--实行 “同号求和,异号求差”

•减法--实行 “异号求和,同号求差”

–求和:数值位相加

•若最高位产生进位,则溢出

•若最高位无进位,则和的符号位为被加(减)数的符号

–求差:被加(减)数的数值位加上加(减)数数值位的补码

•若最高位有进位,则结果为正,说明数值位正确,差的符号位为被加(减)数的符号;

•若最高位无进位,则结果为负,得到的数值位为补码形式,故需对结果求补,差的符号位与被加(减)数的符号位相反

37.加法器的运算速度取决于什么?

答:在门电路延迟一定的情况下,加法器的速度主要取决于进位方式,并行进位方式比串行进位方式的速度快。

38.计算机内部如何实现填充(扩展)操作?

答:在计算机内部,移位操作在移位器中进行,移位器位数固定,所以,移位前后数的位数不变。左移一位,数值扩大一倍,相当于乘2操作;右移一位,数值缩小一半,相当于除2操作。

移位操作分逻辑移位、算术移位和循环移位三种。

逻辑移位对无符号数进行,移位规则为:

左移时,高位移出,低位补0

右移时,低位移出,高位补0

算术移位是对带符号数进行的,移位时符号位不变,只对数值部分移位。移位规则为:

① 原码

左移:高位移出,末位补0。移出非零时,发生溢出。

右移:高位补0,低位移出。移出时进行舍入操作。

② 补码

左移:高位移出,末位补0。移出非符时,发生溢出。

右移:高位补符,低位移出。移出时进行舍入操作。

循环移位对无符号数进行,移位时把高(低)位移出的一位送到低(高)位即可。

39.计算机内部如何实现填充(扩展)操作?

答:在计算机内部,有时需要将一个取来的短数扩展为一个长数,此时要进行填充(扩展)处理。对于无符号整数,只要在高位补0,进行“零扩展”。

对于有符号数,则可能有两种情况:

1) 对于定点整数,在符号位后的数值高位进行。

① 原码:符号位不变,数值部分高位补0

② 补码:高位直接补符,称为“符号扩展”方式

2)对于定点小数表示的浮点数的尾数,则在低位补0即可。

40.在计算机中,乘法和除法运算如何实现?

答:乘法和除法运算是通过加/减运算和左/右移位运算来实现的。所以只要用加法器和移位寄存器在CPU的控制下就可以实现。

此处为音频播放区域,不可重复添加

计算机组成原理实验运动码表,计算机组成原理相关推荐

  1. 计算机组成原理实验运动码表,计算机组成原理实验【参考】.doc

    目 录 第1篇 概 述1 第2篇 实验项目4 实验1 运算器算术逻辑运算4 实验2 运算器进位控制实验7 实验3 运算器移位控制实验8 实验4 存储器读/写实验10 实验5 总线数据传送控制实验12 ...

  2. 北航计算机控制系统实验报告,北航计算机控制系统实验报告教程.doc

    北航计算机控制系统实验报告教程 计算机控制系统实 验 报 告 实验一 模拟式小功率随动系统的实验调试实验二 A/D.D/A接口的使用和数据采集实验三 中断及采样周期的调试实验四 计算机控制系统的实验调 ...

  3. 大学计算机基础实践教程第二版素材,920730-大学计算机基础-实验素材-大学计算机基础教程2...

    <920730-大学计算机基础-实验素材-大学计算机基础教程2>由会员分享,可在线阅读,更多相关<920730-大学计算机基础-实验素材-大学计算机基础教程2(7页珍藏版)>请 ...

  4. 计算机绘图实验一报告,计算机绘图实验的报告.doc

    计算机绘图实验的报告 计算机绘图实验报告 班级: 0811004 姓名: 王保国 学号:2010212897 指导老师:张开碧 实验一 草图绘制 一.实验目的及要求 熟练掌握草图绘制工具的操作方法:掌 ...

  5. 计算机组成原理实验报告西华大学,计算机组成原理实验报告算术逻辑运算单元实验...

    <计算机组成原理实验报告算术逻辑运算单元实验>由会员分享,可在线阅读,更多相关<计算机组成原理实验报告算术逻辑运算单元实验(6页珍藏版)>请在人人文库网上搜索. 1.西华大学数 ...

  6. 计算机组成原理实验八报告,计算机组成原理实验八报告

    <计算机组成原理实验>报告一 姓名学号 时间周四11-13 地点计算机楼 606 一.内存系统实验 1.实验内容及要求 实验内容: 1. 手动方式把立即数33H写入内存D1H单元. 2. ...

  7. 计算机组成原理实验八报告,计算机组成原理实验报告-八位补码加减法器的设计与实现.docx...

    计算机科学与技术学院 计算机组成原理 实验报告书 实?验?名?称 班级 学号 姓名 指?导?教?师 日期 成绩 八位补码加/减法器的设计与实现 实验?1?八位补码加/减法器的设计与实现 一.实验目的 ...

  8. 计算机组成原理实验三报告,计算机组成原理实验三报告

    计算机组成原理实验三报告 实 验 报 告 三课 程 计算机组成原理 姓 名 学 号实验项目 存储器实验 同组姓名 学 号指导教师 专业班级 计算机科学与技术 09 实验时间 2011-6-6实验三 存 ...

  9. 上海大学计算机组成原理实验13,上海大学计算机组成原理实验报告11.doc

    上海大学计算机组成原理实验报告11 上海大学计算机组成原理实验报告11 上海大学_计算机组成原理实验报告8 2011级 上海大学计算机学院 <计算机组成原理二实验>报告8 姓名:学号: 教 ...

最新文章

  1. 自学篇之--js 提取复选框和单选框的值 和纯css的3D按钮
  2. git从master转到开发分支
  3. 2.10 m 个样本的梯度下降-深度学习-Stanford吴恩达教授
  4. Java16-day07【Map(概述、特点、功能、遍历)、HashMap集合练习、集合嵌套、Collections、模拟斗地主升级版】
  5. 社区团购真的是实体店终结者吗?
  6. 面试中软性问题的套路与反套路
  7. 造假家族覆灭记:警方联合阿里斩断涉案三千万假耐克产销链
  8. 芝士超人复活卡软件多线程版本
  9. 萤石开放平台的二次开发——设备如何上云
  10. B站2020年每周必看热门视频数据盘点(数据分析)
  11. scrapy多个url爬虫
  12. Gut:中国药科大学周伟等团队在肠道菌群驱动风湿性关节炎机制研究和中药干预方面取得新进展...
  13. android 下测试网络的丢包率和延迟
  14. 几何原本译林pdf下载_《几何原本》欧几里得_文字版_pdf电子书下载
  15. Ubuntu体系汇集应用效劳器Apache设置基础
  16. c语言cfree编程步骤,C语言初探之利用C-Free编写C语言
  17. 我与兼阅万,有个美丽的邂逅
  18. bing Map 在vue项目中的使用
  19. div适应屏幕垂直居中的多种解决方案
  20. 群晖NAS同步阿里云盘,亲妈级保姆教程,2022年8月4日亲测有效

热门文章

  1. linux环境怎么更新离线rpm包,SUSE Linux 11系统rpm包离线安装GCC
  2. DL----karas可视化工具
  3. 如何查看.mdf文件数据库版本信息
  4. Beginning Auto Layout Tutorial in iOS 7: Part 2
  5. win7中如何获取IE8的缓存视频文件
  6. matlab 函数 矩阵,MATLAB常用矩阵函数
  7. html阴影 渐变,CSS 阴影 轮廓 渐变详解
  8. android播放mp3方法,Android MediaPlayer 播放音频的方式
  9. java中extends用法_JAVA的extends用法
  10. html网页的说课稿,网页设计之滚动字幕说课稿