一个字节二进制数的补码加减运算与溢出判断
《计算机原理》练习题和答案
发短 消息 加为好 友
当前离 线 个人博 客
和反码时所对应的十进制真值分别是 -127 、 -1 、 -0 。 18 、 在二进制浮点数表示方法中, 阶码的位数越多则数的表示范围越大, 尾数的位数越多则数的精度越高。 19 、对于定点整数, 8 位原码(含 1 位符号位)可表示的最小整数为 -127 ,最大整数为 127 。 20 、采用 BCD 码, 1 位十进制数要用 4 位二进制数表示, 1 个字 节可存放 2 个 BCD 码。 21 、对于定点小数, 8 位补码可表示的最小的数为 -1 ,最大的数为 1-27 。 22 、在原码、补码、反码中,补码的表示范围最大。 23 、浮点运算时,若运算结果尾数的最高位不为 1 时需要规格化处理, 此方法称为规格化。 24 、西文字符通常采用 ASCII 编码,这种编码用 7 位二进制数表示。 25 、在 1 个字节中存放两个十进制数的编码方式称为二—十进制码, 简称 BCD 码 。 26 、浮点运算中的对阶操作采用尾数右移几位,加上几个阶码来实现, 此方法称为对阶。 27 、浮点运算结果规格化时,尾数左移解决尾数值小于 0.5 的 问题, 右移解决尾数值大于或等于 1 的 问题。 28 、逻辑操作是对数据进行按位的逻辑与、逻辑或、逻辑非和逻辑异或 等操作。 29 、补码表示的二进制浮点数,阶码为 6 位,尾数为 10 位,均包含 符号位,它能表示的最小二进制数为 - ( 29-1 ) *231 ,最大二进制数 为( 29-1 ) *231 。 30 、浮点数乘法的运算方法是阶码相加,尾数相乘;除法的运算方法是 阶码相减,尾数相除。 31 、大部分计算机在处理数值数据时均采用浮点数,这种计算机称为浮 点机。 32 、在计算机中用相同的字长表示二进制数,浮点数表示的范围比定点 数的大。 33 、数据可分为非数值型数据和数值型数据两种。其中数值型数据又称 符号数据,它又可分为定点数据和浮点数据。 34 、 36D 的 8421 码为 00110110B 。字符串“ 36 ”的 ASCII 码为 0011001100110110B 。 35 、逻辑运算的特点是只在对应的两个二进制位上进行,与相邻的高低 位之间不发生关系,不存在进位、借位等。
微机原理与接口习题汇总
第1章微型计算机基础一、单选题1.以下哪个数最大( D )。
A、10110101BB、234C、234QD、123H2.以下哪个数最大()。
A、10111101BB、240C、134QD、F3H3.以下哪个数最大()。
A、101101BB、198C、162QD、ABH4.以下哪个数最大()。
A、1101101BB、200C、373QD、1D7H5.下列各数种,最大的是( A )。
A、(321)16B、(327)8C、(659)10D、(11100111)26.字母A的ASCII代码是( B )。
A、39HB、41HC、0DHD、0AH7.字母a的ASCII代码是( B )。
A、60HB、61HC、40HD、41H8.回车符的ASCII代码是( C )。
A、39HB、41HC、0DHD、0AH9.换行符的ASCII代码是(D)。
A、39HB、41HC、0DHD、0AH10.数字9的ASCII代码是( A )。
A、39HB、41HC、0DHD、0AH11.数字0的ASCII代码是( B )。
A、30B、30HC、0D、0H12.在计算机系统中,微处理器通常不包含( C )。
A、算术逻辑单元B、程序计数器C、大容量内存D、寄存器13.下列各数不属于8421BCD码的是( A )。
A、10100101BB、01011001BC、00110011BD、01010100B14.以下关于字节和字长的说法错误的是( D )。
A、一个字节由8位二进制位组成B、字长是计算机内部一次可以处理的二进制的位数C、字长依赖于具体的机器,而字节不依赖于具体的机器D、字长越长,处理精度越高,但处理速度越慢15.假定字长为n位,以下关于数的定点和浮点表示的说法错误的是( D )。
A、定点表示法是指计算机中所有数的小数点的位置是人为约定不变。
B、浮点数比相同位数的定点数表示的数值范围大。
C、定点整数的表示范围为-(2n-1-1)~(2n-1-1)。
原码-反码-补码及运算
原码,反码,补码及运算一、定义1.原码正数的符号位为0,负数的符号位为1,其它位按照一般的方法来表示数的绝对值。
用这样的表示方法得到的就是数的原码。
【例2.13】当机器字长为8位二进制数时:X=+1011011 [X]原码=01011011Y=-1011011 [Y]原码=11011011[+1]原码=00000001 [-1]原码=10000001[+127]原码=01111111 [-127]原码=11111111原码表示的整数范围是:-(2n-1-1)~+(2n-1-1),其中n为机器字长。
则:8位二进制原码表示的整数范围是-127~+12716位二进制原码表示的整数范围是-32767~+327672.反码对于一个带符号的数来说,正数的反码与其原码相同,负数的反码为其原码除符号位以外的各位按位取反。
【例2.14】当机器字长为8位二进制数时:X=+1011011 [X]原码=01011011 [X]反码=01011011Y=-1011011 [Y]原码=11011011 [Y]反码=10100100[+1]反码=00000001 [-1]反码=11111110[+127]反码=01111111 [-127]反码=10000000负数的反码与负数的原码有很大的区别,反码通常用作求补码过程中的中间形式。
反码表示的整数范围与原码相同。
3.补码正数的补码与其原码相同,负数的补码为其反码在最低位加1。
引入补码以后,计算机中的加减运算都可以统一化为补码的加法运算,其符号位也参与运算。
【例2.15】(1)X=+1011011 (2)Y=-1011011(1)根据定义有:[X]原码=01011011 [X]补码=01011011(2)根据定义有:[Y]原码=11011011 [Y]反码=10100100[Y]补码=10100101补码表示的整数范围是-2n-1~+(2n-1-1),其中n为机器字长。
则:8位二进制补码表示的整数范围是-128~+127(-128 表示为10000000,无对应的原码和反码)16位二进制补码表示的整数范围是-32768~+32767当运算结果超出这个范围时,就不能正确表示数了,此时称为溢出。
2.简答
简答题部分简答题目包含以下几大类内容:一.数制变换,运算,码制等二.微机组成、结构、总线三.8086/8088CPU的内部结构、大小模式构成和总线周期四.指令系统和汇编语言程序设计五.存储器组成、分类、性能、特点六.接口技术与中断技术一、数制变换,运算,码制、补码运算、溢出判断等A类:1.溢出与进位不同点?答:进位是指运算结果的最高位向更高位的进位,用来判断无符号数运算结果是否超出了计算机所能表示的最大无符号的范围。
溢出是指带符号数的补码运算溢出,用来判断带符号数补码运算结果是否超出了补码所能表示的范围。
2.什么是组合的BCD码?什么是非组合的BCD码?答:组合的BCD码是用一个字节表示2位BCD码。
非组合的BCD码一个字节仅在低四位表示1位BCD码。
3.简述十进制数转换为二进制数的方法。
4.简述十六进制数转换为十进制数的方法。
5.在计算机中,如何表示正、负号。
答:数的最高位为符号位,并且用“0”表示正;用“1”表示负。
6.计算机中机器数有哪些常用的编码形式。
答:常用的编码有原码、反码和补码。
B类:1.原码、反码和补码是怎样定义的。
答:原码的定义:一个数的原码其尾数就是该数的真值,其最高位用来表示符号,“+”和“-”分别用“0”和“1”来表示。
反码的定义:对于正数它的反码等于原码,对于负数它的反码等于它的原码除符号位外,其余各位取反。
补码的定义:对于正数它的补码等于原码,对于负数它的补码等于它的原码除符号位外,其余各位取反后加一。
2.在计算机中,BCD码的加减运算是按什么规则进行调整的。
C类:1.简述汉字的编码规则。
答:GB2312国标字符集呈二维表,分成94行×94列,行号称为区号,列号称为位号。
每一个汉字或符号在码表中都有各自一个惟一的位置编码,该编码就是字符所在的区号(行号)及位号(列号)的二进制代码(7位区号在左、7位位号在右,共14位),也称为汉字的区位码。
因此,字符集中的任何一个图形、符号及汉字都用唯一的区位码表示。
计算机中的数制
4
0
2
2
1
1
0.5
0
0.25
0.25
0.125
.0625
0.125 .0625
16 + 8 + 0 + 2 + 1 + 0 + .25 + .125 + .0625 = 27.4375
数 制 的 转 换
例4: 将下面给出的二进制数转换成十六进制的数
二进制数 十六进制数
0010 2 0000 0 0101 5 1010 A 0111 7 1110 E 0100 4
[例]:
[X]原=1 0110100
[X]反=1 1001011
[+0]反=00000000 [-0]反 =11111111 即:数0的反码也不唯一
补码
定义:
若X>0, 则[X]补= [X]反= [X]原 若X<0, 则[X]补= [X]反+1 [例]: X= –52= – 0110100
[X]原=10110100
1.2
计算机中的数制
数制 是人们利用符号来计数的科学方法。数制可以 有很多种,但在计算机的设计和使用上常用的 则为十进制、二机制、八进制和十六进制。 数制的基和位权 数制所使用的数码的个数称为基,数制中每一 固定位置对应的单位值称为“位权”
十进制: 基为“10”,权为以10为底的幂, —D 二进制: 基为“2”,权为以2为底的幂, —B 八进制: 基为“8”,权为以8为底的幂, —O 十六进制:基为“16”,权为以16为底的幂 —H
ASCII码
ASCII码是目前微机中普遍采用的字符编码系统。 字符的编码,一般用7位二进制码表示128个字符和 符号。在需要时可在D7位加校验位。 0~9的ASCII码:30H~39H;
二进制中正负数表示和判断
二进制中第一位0代表正;1代表负我知道,但是给你一个二进制的数比如101那么转化成十进制应该是多少 5 但不是说首位为1应该是负的吗?谁能给我讲讲这个首位什么时候作为符号,什么时候作为数字去计算什么时候可以直接计算,什么时候需要取反我怎么知道它是正数还是负数如果你有这种疑问,那就是没有高清概念有问题,我们只有在说计算机处理数时,会用0和1代表正负,这种数称之为机器数(包括原码,反码,补码);一:表示法:1、正数5的表示法假设有一个int 类型的数,值为5,那么,我们知道它在计算机中表示为:00000000 00000000 00000000 000001015转换成二制是101,不过int类型的数占用4字节(32位),所以前面填了一堆0。
2、负数-5的表示法现在想知道,-5在计算机中如何表示在计算机中,负数以原码的补码形式表达。
二、概念:1、原码:一个正数,按照绝对值大小转换成的二进制数;一个负数按照绝对值大小转换成的二进制数,然后最高位补1,称为原码。
比如00000000 00000000 00000000 00000101 是5的原码。
00000000 00000000 00000101 是-5的原码。
备注:比如byte类型,用2^8来表示无符号整数的话,是0 - 255了;如果有符号,最高位表示符号位,0为正,1为负,那么,正常的理解就是-127 至+127 了.这就是原码了,值得一提的是,原码的弱点,有2个0,即+0和-0(和00000000);还有就是,进行异号相加或同号相减时,比较笨蛋,先要判断2个数的绝对值大小,然后进行加减操作,最后运算结果的符号还要与大的符号相同;于是,反码产生了。
2、反码:正数的反码与原码相同,负数的反码为对该数的原码除符号位外各位取反[每一位取反(除符号位)]。
取反操作指:原为1,得0;原为0,得1。
(1变0; 0变1)比如:正数00000000 00000000 00000000 00000101其反码还是00000000 00000000 00000000 00000101负数00000000 00000000 00000101其反码则是。
二进制溢出——精选推荐
⼆进制溢出⼀、溢出的本质溢出的本质是计算机⽆法存放过⼤或者过⼩的数据。
假设⼀个计算机CPU是4位的,那么每⼀位或者为0,或者为1,根据排列组合,这四位最多共有2*2*2*2=16种可能的组合⽅式,也就是说这台计算机只能最多表⽰16个数字。
以计算机中的⽆符号整数为例,那么4位CPU的计算机表⽰出来的就只有0~15这16个数字。
如果你拿两个数,⼀个为11,另⼀个为5,做加法的话,计算结果会显⽰为0⽽不是16。
因为11加4已经等于15了,再加1它已经⽆法表⽰,所以⼜回到了0处,这种情况就属于上溢。
反之,2-3的话,得到的结果为15,因为2-2已经为0,再减的话就转回到了15,这属于下溢。
总之⼀句话,溢出反应了计算机处理能⼒的上限和下限,太⼤的数和太⼩的数均⽆法直接呈现出来。
⼆、探讨有符号数与⽆符号数上溢出下溢出的问题1,有符号数的溢出#include<void.h>Void main(){int i= 2147483647;printf(“%d,%d”,i.i+1);}输出结果为:2147483647,-2147483648这是因为加减运算过后,它们的值超出了它们对应的那种整数类型的表⽰范围,我们把这种现象称为溢出。
注意:看清楚数字总是在循环的变化。
如从最⼤2147483647,再加⼀后就变成了最⼩-2147483648。
即循环的顺序是:0— 2147483647— -2147483648— 0。
规律:SHRT_MAX+1 == SHRT_MINSHRT_MIN-1 == SHRT_MAX例如:#include <stdio.h>int main (){short int a=32767,b=32767,c;a=a+b; //实现两数不借助第三变量交换的功能printf("a=%d,b=%d\n",a,b);b=a-b;printf("a=%d,b=%d\n",a,b);a=a-b;printf("a=%d,b=%d\n",a,b);c=sizeof(short int);printf("sizeof=%d",c);return0;}结果:a=-2,b=32767 因为:32767+1=-32768 -32768+32766=-2a=-2,b=32767 因为:-2-32766 =-32768 -32768-1=32767,反正都是在[-32768,32767]之间循环a=32767,b=32767sizeof=2因此,下⾯的程序就是错误的,while是个⽆限循环:short int n=1, sum=0;while(sum<=32767) {sum+=n; n++;}printf(“n=%d\n”,n-1);另外google的⼀道笔试题中也需要意识到溢出的存在:short cal(short x){if(x==0) return0;elsereturn x+cal(x-1);}答案x=0时,0x>0时,x+(x-1)+(x-2)+…+1+0x<0时,x+(x-1)+…+(-32768)+【溢出】+32767+32766……+1+0,中途栈溢出,计算此表达式最后的结果时,也会多次溢出,因此最后的结果⼈⼒很难算出。
计算机组成原理名词解释
计算机组成原理名词解释IMB standardization office【IMB 5AB- IMBK 08- IMB 2C】一、名词解释:(第一章的名称解释是考试的重点)1.主机:由CPU、存储器与I/O接口合在一起构成的处理系统称为主机。
:中央处理器,是计算机的核心部件,由运算器和控制器构成。
3.运算器:计算机中完成运算功能的部件,由ALU和寄存器构成。
:算术逻辑运算单元,负责执行各种算术运算和逻辑运算。
5.外围设备:计算机的输入输出设备,包括输入设备,输出设备和外存储设备。
6.数据:编码形式的各种信息,在计算机中作为程序的操作对象。
7.指令:是一种经过编码的操作命令,它指定需要进行的操作,支配计算机中的信息传递以及主机与输入输出设备之间的信息传递,是构成计算机软件的基本元素。
8.透明:在计算机中,从某个角度看不到的特性称该特性是透明的。
9.位:计算机中的一个二进制数据代码,计算机中数据的最小表示单位。
10.字:数据运算和存储的单位,其位数取决于具体的计算机。
11.字节:衡量数据量以及存储容量的基本单位。
1字节等于8位二进制信息。
12.字长:一个数据字中包含的位数,反应了计算机并行计算的能力。
一般为8位、16位、32位或64位。
13.地址:给主存器中不同的存储位置指定的一个二进制编号。
14.存储器:计算机中存储程序和数据的部件,分为内存和外存。
15.总线:计算机中连接功能单元的公共线路,是一束信号线的集合,包括数据总线。
地址总线和控制总线。
16.硬件:由物理元器件构成的系统,计算机硬件是一个能够执行指令的设备。
17.软件:由程序构成的系统,分为系统软件和应用软件。
18.兼容:计算机部件的通用性。
19.软件兼容:一个计算机系统上的软件能在另一个计算机系统上运行,并得到相同的结果,则称这两个计算机系统是软件兼容的。
20.程序:完成某种功能的指令序列。
21.寄存器:是运算器中若干个临时存放数据的部件,由触发器构成,用于存储最频繁使用的数据。
计算机原理作业习题及答案-1209学生
第1章微型计算机基础知识一、选择题3.若用MB作为PC机主存容量的计量单位,1MB等于( )字节。
A、210个字节B、220个字节C、230个字节D、240个字节4.运算器在执行两个用补码表示的整数加法时,判断其是否溢出的规则为( )。
A、两个整数相加,若最高位(符号位)有进位,则一定发生溢出B、两个整数相加,若结果的符号位为0,则一定发生溢出C、两个整数相加,若结果的符号位为1,则一定发生溢出D、两个同号的整数相加,若结果的符号位与加数的符号位相反,则一定发生溢出5.运算器的主要功能是( )。
A、算术运算B、逻辑运算C、算术运算与逻辑运算D、函数运算6.运算器由很多部件组成,其核心部分是( )。
A、数据总线B、算术逻辑单元C、累加器D、多路开关7.在一般的微处理器中,( )包含在CPU中。
A、内存B、输入/输出单元C、磁盘驱动器D、算术逻辑单元9.若某数据段位于存储区38000H~47FFFH,则该数据段的段基址为()。
A、38000HB、47FFFHC、3000HD、3800H10.程序设计中所使用的地址是()。
A、逻辑地址B、有效地址C、物理地址D、段基址11.80X86执行程序时,对存储器进行访问时,物理地址可由()组合产生。
A、SS和IPB、CS和IPC、DS和IPD、CS和BP12.某处理器与内存进行数据交换的外部数据总线为32位,它属于()。
A、8位处理器B、16位处理器C、32位处理器D、64位处理器13.在堆栈操作中,隐含使用的通用寄存器是()。
A、AXB、BXC、SID、SP14.主要决定微机性能的是()A、CPUB、耗电量C、质量D、价格15.十进制负数–38的八位二进制补码是()A、01011011BB、11011010BC、11011011BD、01011010B 16.若某台微型计算机的型号是奔四800,则其中800的含义是()A、CPU中有800个寄存器B、CPU中有800个运算器C、该微机的内存为800MBD、时钟频率为800MHZ17.在计算机内部,一切信息的存取,处理和传送都是以()形式进行。
CH02-1 运算方法-二进制数据表示,定点加法,溢出判断(2.1-2.4.5,附录,2.10)
2.2.2 补码表示法
1.概念与定义 例:先分析两个10进制数的运算 58-35=23 58+65=123 =100+23 如果使用两位10进制的运算器,在做加法58+65 时,结果中的100超出了该运算器的表示范围,将会 被自动舍去,运算器只能表示出结果23。在做减法 58-35时,若用加法58+65能得到同样的结果23。
[x]补 =
5.补码的性质
(1)补码的最高位是符号位,在形式上同于原 码,0表示正,1表示负。但应注意,原码的 符号位是人为地定义0正1负;而补码的符号 位是通过有模运算得到的,它是数值的一部 分,可直接参与运算。 (2)正数的补码表示在形式上同于原码;而负数 的补码表示则不同于原码,可用负数原码求 补方法进行转换。
2.2.3 反码表示法
1.定点小数的反码表示 定义:反码表示法是用机器数的最高一位代表 符号,数值位是对负数值各位取反的表 示方法,其数学表达式为(定点小 数): x 0 ≤ x <1 ⎧ [x]反 = ⎨ (2 − 2− n ) + x − 1 < x ≤ 0 ⎩ 其中n代表数的位数(不包括符号位), 或者说字长是n+1位。
= 10.00L0 − 0.00L1 = 1.11L1
2.定点整数的反码表 示:
对定点整数,反码表示的定义是:
⎧ x [x]反 = ⎨ n +1 ⎩(2 − 1) + x 0≤ x<2
(1)真值0在原码表示中有两种形式,以定点整 数为例 [+ 0]原 = 0000 [− 0]原 = 1000 (2)原码表示的定点小数,其表示范围为
− 1 < x < 1, 即 x < 1
原码表示的定点整数,其表示范围为
补码BCD码微机原理
2.2.4 补码的加减运算 1. 补码加法 在计算机中,凡是带符号数一律用补码表示,运算结果自
然也是补码。其运算特点是:符号位和数值位一起参加运算, 并且自动获得结果(包括符号位与数值位)。
补码加法的运算规则为:
[x]补 [ y]补 [x y]补
(2.2.5)
即:两数补码的和等于两数和的补码。
+129
结论:两个整数相加,结果应该为+129,结果确为负数-127, 发生错误的原因是运算中产生了溢出。
第2章 计算机中的数制和编码
2. 溢出的判断方法
判断溢出的方法很多,常见的有:① 通过参加运算的两个数
的符号及运算结果的符号进行判断。② 单符号位法。该方法通
过符号位和数值部分最高位的进位状态来判断结果是否溢出。
实现加法和减法运算,简化了电路。
第2章 计算机中的数制和编码 ② 无符号数和带符号数的加法运算可以用同一个加法器实 现,结果都是正确的。例如:
11100001 +) 00001101
11101110
无符号数
225 +) 13
238
带符号数
[-31]补 +) [+13]补
[-18]补
若两操作数为无符号数时,计算结果为无符号数11101110B, 其真值为238,结果正确;若两操作数为补码形式,计算结果也 为补码形式,11101110B为–18的补码,结果也是正确的。
第2章 计算机中的数制和编码
例2.11 已知 [+51]补=0011 0011B,[+66]补=0100 0010B,
[-51]补=1100 1101B,
[-66]补=1011 1110B
计算机专业研究生复试-计算机组成原理面试简答题
计算机系统概述1.冯诺依曼机和存储程序的概念冯·诺依曼在研究EDVAC 机时提出了“存储程序”的概念,“存储程序”的思想奠定了现代计算机的基本结构,以此概念为基础的各类计算机通称为冯·诺依曼机,其特点如下:1)计算机硬件系统由运算器、存储器、控制器、输入设备和输出设备5 大部件组成。
2)指令和数据以同等地位存储在存储器中,并可按地址寻访。
3)指令和数据均用二进制代码表示。
4)指令由操作码和地址码组成,操作码用来表示操作的性质,地址码用来表示操作数在存储器中的位置。
5)指令在存储器内按顺序存放。
通常,指令是顺序执行的,在特定条件下可根据运算结果或根据设定的条件改变执行顺序。
6)早期的冯诺依曼机以运算器为中心,输入/输出设备通过运算器与存储器传送数据。
现代计算机以存储器为中心。
2.为什么现在计算机以存储器为中心?早期计算机存储容量小,数据经过运算器较少,在效率上对系统没有明显的影响。
但是现在存储器容量越来越大,且外部设备的速度远小于CPU的速度,所以数据经过运算器会拖慢系统的效率。
现在计算机以存储器为中心,让IO绕过运算器。
3.什么是“存储程序”?“存储程序”的概念是指将指令以代码的形式事先输入计算机的主存储器,然后按其在存储器中的首地址执行程序的第一条指令,以后就按该程序的规定顺序执行其他指令,直至程序执行结束。
按照“存储程序”原理,计算机有五大功能: 数据传递、数据存储、数据处理、操作控制、操作判断。
4.计算机的工作过程?计算机的工作过程分为以下三个步骤:1) 把程序和数据装入主存储器。
2) 将源程序转换成可执行文件。
3) 从可执行文件的首地址开始逐条执行指令。
5.翻译程序、汇编程序、编译程序、解释程序有什么差别?翻译程序是将高级语言翻译成如汇编语言和机器语言这样的程序。
翻译程序包括,编译程序和解释程序。
汇编程序是将汇编语言翻译成机器语言的程序。
编译程序是将源代码一次全部翻译成目标代码的程序,它将一种代码文件翻译成另一种代码文件,如果源代码不修改,则不用重新编译。
计算机组成原理经典复习题集锦(附答案)
计算机组成原理复习题一、填空题1.用二进制代码表示的计算机语言称为(机器语言),用助记符编写的语言称为(汇编语言)。
2. 计算机硬件由(控制单元)、(运算器)、(存储器)、输入系统和输出系统五大部件组成。
3.十六进制数CB8转换成二进制数为(110010111000)。
4.某数x的真值-0.1011B,其原码表示为( 1.1011)。
5.在浮点加减法运算过程中,在需要(对阶)或(右规)时,尾数需向右移位。
6.指令通常由(操作码)和(地址码)两部分组成。
7.要组成容量为4K*8位的存储器,需要(8)片4K×1位的芯片并联,或者需要(4)片1K×8位的芯片串联。
8. 中断处理过程包括(关中断)、(保护现场)、(执行中断服务程序)、(恢复现场)和(开中断)阶段。
9.操作数寻址方式包括(直接寻址)、(间接寻址)、(立即寻址)、(隐含寻址)、(寄存器寻址)、(寄存器间接寻址)、(基址寻址)等。
10.动态RAM的刷新包括(分散刷新)、(集中刷新)和(异步刷新)三种方式。
11.高速缓冲存储器的替换算法有(先进先出)和(近期最少使用)。
12.影响流水线性能的因素有(数据相关)、(控制相关)和(资源相关)。
13.主存储器容量通常以KB为单位,其中1K=(),硬盘的容量以GB为单位,其中1G=()。
14.主存储器一般采用(动态RAM)存储器,CACHE采用(静态RAM )存储器。
15.世界上第一台计算机产生于(1946 )年,称为(ENIAC)。
16. I/O的编址可分为(不统一编址)和(统一编址),前者需要单独的I/O指令,后者可通过(访存)指令和设备交换信息。
17.CPU从主存取出一条指令并执行该指令的全部时间叫做(指令周期),它通常包含若干个(机器周期),而后者又包含若干个(时钟周期)。
18.计算机中各个功能部件是通过(总线)连接的,它是各部件之间进行信息传输的公共线路。
19.浮点数由(阶码)和(尾数)两部分构成。
《计算机组成原理》(答案已补全)
《计算机组成原理》模拟题1一、名词解释1.总线2.指令系统3.微指令4.溢出二、填空题1.按冯·诺依曼设计原则,其硬件是由()、()、()、()和()组成。
2.计算机系统是由()和()两大部分构成。
3.计算机最主要的三大性能指标是()、()、和()。
4.一个完善的指令系统应满足()、()、()、和()的要求。
5.堆栈的硬件是由()和()构成,存取是按()原则。
6.通常控制器的设计可分为()和(),前者采用的核心器件是(),后者采用的核心器件是()。
7.主机与外设的连接方式有()、()和()。
8.目前在微型机中主机与外设广泛采用的信息交换方式是()和()。
三、简答题1.简述中断的处理过程。
它与程序查询方式有何不同点?2.按通道的工作方式,通道分哪几类?简述其特点。
3.画图说明存储系统的层次结构,并说明各种存储器的特点。
参考答案:1.答案要点:中断的处理过程大致可分为五个步骤:1)中断请求2)中断排队3)中断响应4)中断处理5)中断返回与程序查询方式的不同点:1)在程序中断方式下,CPU和外设可并行工作;而程序查询方式下,CPU与外设是串行工作的。
2)程序中断方式适合于对外界随机事件的处理。
而程序查询方式不具备这样的能力。
2.答案要点:按通道的工作方式,通道可分为字节多路通道、选择通道和数组多路通道三种类型。
特点:字节多路通道:1)有多个子通道,设备间可(分时)并行操作。
2)数据以字节为单位交叉传送。
3)适合于连接大量的低速设备。
选择通道:1)被选中的外设采用独占方式使用通道。
2)数据以成组(数据块)方式进行传输。
3)适合于连接高速外设。
数组多路通道:是将前二者的优点结合在一起的一种通道结构。
数组多路通道含有多个子通道,可同时执行多个通道程序,数据以成组方式进行传送。
既具有多路并行操作能力,又有很高的数据传输率,可用来连接多台中高速的外设。
3.答案要点:存储系统的层次结构如图所示:存储器的特点:1)高速缓存:存放当前要执行的程序和数据。
计算机二进制中的原码,反码,补码
计算机⼆进制中的原码,反码,补码计算机最基本的⼯作是处理数据,⽽数据的最底层表现形式是⼆进制,并⾮是我们⼈类熟悉的⼗进制。
可以这么认为,计算机其实是很“笨的”,它只理解⼆进制数据。
今天,主要介绍计算机是怎样做加减运算的。
你可能会想,加减运算?这么简单的事情,还⽤介绍?也许还真不是你想的那样。
计算机的运算是由CPU 完成的,⽽CPU 只会做加法运算,不会做减法运算,那计算机怎样完成减法⼯作呢?1,⼆进制数我们先来看看⼆进制数。
⼆进制数是由0,1 组成的,⽐如:⼗进制的5,⽤⼆进制表⽰是 101。
⼗进制的7,⽤⼆进制表⽰是 111。
数字由正数和负数组成。
为了表⽰正负数,计算机中就有了有符号数和⽆符号数之分:⽆符号数:英⽂为unsigned,只能表⽰正数。
有符号数:英⽂为signed,即能表⽰正数,⼜能表⽰负数。
C/C++ 语⾔中的数字有有符号数和⽆符号数之分。
Java 语⾔所有的数字都是有符号数。
假如,我们⽤ 4 位⼆进制,来表⽰⽆符号数,也就是只表⽰正数,能表⽰的范围是0 到 15,转换关系如下表:⼗进制数⼆进制数⼗进制数⼆进制数00000810001000191001200101010103001111101140100121100501011311016011014111070111151111有符号数,即要表⽰正数,也要表⽰负数。
要⽤⼆进制表⽰有符号数,需要⽤⼆进制的最⾼位来表⽰符号,0表⽰正,1表⽰负。
所谓的最⾼位,也就是最左边那⼀位。
⽤ 4 位⼆进制,来表⽰有符号数,能表⽰的范围是-8 到 7,转换关系如下表:⼗进制数⼆进制数⼗进制数⼆进制数00000-8100010001-1100120010-2101030011-3101140100-4110050101-5110160110-6111070111-71111上表中的最⾼位的符号位,已标红。
要注意,对于有符号的4 位⼆进制 ----1000不是-0,⽽是-8。
补码、原码,反码,移码
计算机中的原码、反码和补码大家都知道数据在计算机中都是按字节来储存了,1个字节等于8位(1Byte=8bit),而计算机只能识别0和1这两个数,所以根据排列,1个字节能代表256种不同的信息,即28(0和1两种可能,8位排列),比如定义一个字节大小的无符号整数(unsigned char),那么它能表示的是0~255(0~28-1)这些数,一共是256个数,因为,前面说了,一个字节只能表示256种不同的信息。
别停下,还是一个字节的无符号整数,我们来进一步剖析它,0是这些数中最小的一个,我们先假设它在计算机内部就用8位二进制表示为00000000(从理论上来说也可以表示成其他不同的二进制码,只要这256个数每个数对应的二进制码都不相同就可以了),再假设1表示为00000001,2表示为00000010,3表示为00000011,依次类推,那么最大的那个数255在8位二进制中就表示为最大的数11111111,然后,我们把这些二进制码换算成十进制看看,会发现刚好和我们假设的数是相同的,而事实上,在计算机中,无符号的整数就是按这个原理来储存的,所以告诉你一个无符号的整数的二进制码,你就可以知道这个数是多少,而且知道在计算机中,这个数本身就是以这个二进制码来储存的。
比如我给你一个2个字节大小的二进制码,首先声明它表示的是无符号的整数:00000000 00000010,我们把前面的0省略,换算一下,它表示的也是数值2,和前面不同的是,它占了2个字节的内存。
不同的类型占的内存空间不同,如在我的电脑中char是1个字节,int是4个字节,long是8个字节(你的可能不同,这取决于不同的计算机设置),它们的不同之处仅仅是内存大的能表示的不同的信息多些,也就是能表示的数范围更大些(unsigned int能表示的范围是0~28*4-1),至于怎么算,其实都是一样的,直接把二进制与十进制相互转换,二进制就是它在计算机中的样子,十进制就是我们所表示的数。
广州大学松田学院计算机组成原理复习题(仅供参考)
一、单项选择题1.存储器的基本单位是字节,其长度是()A.1bit B.8bit C.16bit D.32bit2.二进制数01101011对应的十进制数为()A.100 B.107 C.117 D.1273.若十进制数为101,则其对应的二进制数为()A.01100101B.01010011C.01110001D.010100104.若十进制数为-49,则其对应的补码[X]补为()A.11100011B.11111001C.11001111D.110011105.若地址总线为A15(高位)~A0(低位),若用4KB的存储芯片组成8KB存储器,则加在各存储芯片上的地址线是()A.A11~A0B.A10~A0C.A9~A0D.A8~A06.CPU可直接访问的存储器是()A.硬盘B.软盘C.光盘D.高速缓存7.在CPU中,指令寄存器IR用来存放()A.正在执行的指令B.即将执行的指令C.已执行的指令D.指令地址8.下列存储器中不是..半导体存储器的是()A.静态存储器B.动态存储器C.U盘D.光盘9.容量为4KB的存储器的最少地址位数为()A.11 B.12 C.13 D.1410.下列寻址方式中出现在指令“ADD R2,(R1)”中的是()A.隐含寻址B.存储器间接寻址C.寄存器间接寻址D.直接寻址11.下列寄存器中用于与存储器之间传送数据的是()A.MDR B.MAR C.PC D.SP12.下列说法不正确...的是()A.硬连线控制器比微程序控制器设计复杂B.硬连线控制器不便于实现复杂指令的控制C.微程序控制器比硬连线控制器速度要快D.微程序控制器将指令执行所需要的控制信号存放在存储器中13.补码加法运算是指( )A.操作数用补码表示,符号位单独处理B.操作数用补码表示,连同符号位一起相加C.操作数用补码表示,将加数变补,然后相加D.操作数用补码表示,将被加数变补,然后相加14.动态RAM存储信息依靠的是( )A.电容B.双稳态触发器C.晶体管D.磁场15.下列存储器中,属于半导体存储器的是( )A.硬盘B.动态存储器C.软盘D.光盘16.对于容量为8KB的存储器,寻址所需最小地址位数为( )A.2B.3C.12D.1317.采用微程序控制的主要目的是()A.提高速度B.简化控制器设计与结构C.使功能很简单的控制器能降低成本D.不再需要机器语言18.一条机器指令中通常包含的信息有( )A.操作码、控制码B.操作码、立即数C.地址码、寄存器号D.操作码、地址码19.从主存中取回到CPU中的指令存放位置是( )A.指令寄存器B.状态寄存器C.程序计数器D.数据寄存器20.中断屏蔽字的作用是()A.暂停外设对主存的访问B.暂停对某些中断的响应C.暂停对一切中断的响应D.暂停CPU对主存的访问21.指令执行所需的操作数不会..来自( )A.指令本身B.主存C.寄存器D.控制器22.并行接口是指( )A.仅接口与外围设备之间采取并行传送B.仅接口与系统总线之间采取并行传送C.接口的两侧均采取并行传送D.接口内部只能并行传送23.在计算机中磁盘存储器一般用作( )A.主存B.高速缓存C.辅存D.只读存储器24.为了减少指令中的地址个数,采用的有效办法是( )A.寄存器寻址B.立即寻址C.变址寻址D.隐地址25.组合逻辑控制器与微程序控制器相比( )A.组合逻辑控制器的时序系统比较简单B.微程序控制器的时序系统比较简单C.两者的时序系统复杂程度相同D.微程序控制器的硬件设计比较复杂26.用2K×4的存储芯片组成4KB存储器,需要几片这样的芯片?( )A.8片B.4片C.2片D.1片27.微程序存放在( )A.堆栈存储器中B.主存储器中C.控制存储器中D.辅助存储器中28.CPU响应中断请求( )A.可在任一时钟周期结束时B.可在任一总线周期结束时C.可在一条指令结束时D.必须在一段程序结束时29.串行接口是指( )A.接口与系统总线之间为串行传送B.接口与外设之间为串行传送C.接口的两侧都为串行传送D.接口内部只能串行传送30.在下列存储器中,按随机存取方式工作的存储器是A.硬盘B.光盘C.磁带D.主存31.若地址总线为A15(高位)~A0(低位),若用2K×4位的存储芯片组成8KB存储器,则加在各存储芯片上的地址线是A.A15~A10B.A10~A0C.A9~A0D.A8~A O32.在多级中断方式下,CPU在处理中断时()A.可响应更低级别的中断请求B.可响应更高级别的中断请求C.禁止其它的中断请求D.可响应同级别的中断请求33.静态RAM存储信息依靠的是A.电容B.双稳态触发器C.单稳态触发器D.磁场34.寄存器间接寻址是指A.从指令获得操作数B.从存储器获得操作数地址C.从指令指定的寄存器获得操作数D.从指令指定的寄存器获得操作数地址35.在控制器中,程序计数器PC用来存放A.正在执行的指令B.正在执行的指令地址C.下一条指令D.下一条指令的地址36.下列存储器中存取速度最快的存储器是( )A.主存B.辅存C.磁盘D.磁带37.在下列浮点数的表示中,属于规格化编码的是( )A.1.101l×2-3B.1.001l×23 C.0.0101×2-3D.0.001l×2338.在一个计算机系统中,下列说法正确的是( )A.主存的容量远大于Cache的容量,主存的速度比Cache快B.主存的容量远小于Cache的容量,主存的速度比Cache快C.主存的容量远大于Cache的容量,主存的速度比Cache慢D.主存的容量远小于Cache的容量,主存的速度比Cache慢39.采用直接寻址方式的操作数存放在( )A.某个寄存器中B.某个存储器单元中C.指令中D.输入/输出端口中40.比较硬连线控制器和微程序控制器,下列说法正确的是( )A.硬连线控制器结构简单规整B.硬连线控制器执行速度慢C.微程序控制器执行速度快D.微程序控制器容易实现复杂指令控制41.没有外存储器的计算机中,监控程序可以放在()内。
变形补码加减法实验
变形补码加减法实验一、变形补码的概念和特点变形补码是一种用来表示定点小数的数据格式,它与补码的区别在于,它用两个二进制位来表示符号位,其余位与补码相同。
变形补码的符号位规则如下:正数的符号位为00,负数的符号位为11。
符号位左边那一位表示正确的符号,0为正,1为负。
符号位右边那一位如果和左边的相同,如00或11,表示无溢出;如果和左边的不同,如01或10,表示有溢出。
变形补码的优点是:它可以将定点小数当做整数一样进行加减运算,不需要考虑小数点的位置。
它可以方便地判断运算结果是否溢出,只需检查符号位是否相异即可。
它可以节省存储空间,因为只需要存储一个符号位就可以表示正负数。
变形补码的缺点是:它不能直接进行乘除运算,需要先转换成其他格式。
它不能直接进行逻辑运算,需要先转换成其他格式。
它不能直接进行移位运算,需要先转换成其他格式。
二、变形补码的求法要求一个定点小数的变形补码,有以下几个步骤:判断该数是正数还是负数。
如果是正数,则将“+”号去掉;如果是负数,则将“-”号去掉。
将第一个“0”变成“00”,作为符号位。
如果没有“0”,则在最高位补上“00”。
如果是负数,则从低位向高位找,直到找到第一个不为零的位置,将第一个不为零的数后(包括第一个不为零的数)的所有数按位取反(包括符号位)。
例如:+0.101 -> 00.101+1.011 -> 00.1011-0.101 -> 11.010-1.011 -> 11.1000三、变形补码的加减运算要进行变形补码的加减运算,有以下几个步骤:将两个操作数对齐小数点,并在高低位补足相同长度。
将两个操作数按位相加(减法相当于加上被减数的相反数),包括符号位。
如果有进位,则舍弃最高进位。
检查结果的符号位是否相异。
如果相异,则表示发生溢出;如果相同,则表示未发生溢出。
如果发生溢出,则根据最高符号位判断正确的符号,并在最低有效位前加上该符号。
例如:+0.101 + (+1.011) = 00.101 + 00.1011 = 01.1000 (发生正溢出)正确答案应该是 +10.000-0.101 + (-1.011) = 11.010 + 11.1000 = 10.1110 (发生负溢出)正确答案应该是 -10.010+0.101 + (-1.011) = 00.101 + 11.1000 = 00.001 (未发生溢出)正确答案就是 +0.001-0.101 + (+1.011) = 11.010 + 00.1011 = 11.1111 (未发生溢出)正确答案就是 -0.001四、实验目的和要求通过本实验,可以达到以下目的:理解变形补码的概念和特点,掌握变形补码的求法和加减运算方法。