有符号8位做无符号的二进制加法数加法运算题,(11111000)2➕(00001000)2=多少求运算过程

1、下列字符表示成相应的ASCII码是多尐(1)换行0AH(2)字母“Q”51H(3)空格20H

2、下列各机器数所表示数的范围是多少?

(1)8位做无符号的二进制加法无符号定点整数;0~255(2)8位做无苻号的二进制加法无符号定点小数;0.996094

(3)16位做无符号的二进制加法无符号定点整数;0~65535(4)用补码表示的16位做无符号的二进制加法有符号整數;- 3、(111)X=273基数X=?16

(5)有两个做无符号的二进制加法数X=Y=,试比较它们的大小

(1)X和Y两个数均为无符号数;X>Y(2)X和Y两个数均为有符号的补码數。X

1、对于R进制数来说其基数(能使用的数字符号个数)R个,能使用的最小数字符号是0

1、做无符号的二进制加法数101.011转换成十进制数是5.375(1)┿六进制数0E12转换成做无符号的二进制加法数是B

1、在计算机内部,一切信息的存取、处理和传送都是以 D 形式进行的

A)EBCDIC码B)ASCII码C)十六进制编碼D)做无符号的二进制加法编码

4、与十进制数58.75等值的十六进制数是 B 。

6、做无符号的二进制加法数转换成十六进制数是 B

9、十进制正数43的八位做无符号的二进制加法原码 B 。

10、十进制正数38的八位做无符号的二进制加法补码是 D

四、是非判断题1、在第三代计算机期间出现了操作系統。(√)

2、对于种类不同的计算机其机器指令系统都是相同的。(×)

5、在汉字国标码GB2312-80的字符集中共收集了6763个常用汉字。(√)1. 微處理器微型计算机和微型计算机系统三者之间有何区别?答:微处理器即CPU它包括运算器、控制器、寄存器阵列和内部总线等部分,用於实现微型计算机的运算和控制功能是微型计算机的核心;一台微型计算机由微处理器、内存储器、I/O接口电路以及总线构成;微型计算機系统则包括硬件系统和软件系统两大部分,其中硬件系统又包括微型计算机和外围设备;由此可见,微处理器是微型计算机的重要组成部汾而微型计算机系统又主要由微型计算机作为其硬件构成。

2. CPU在内部结构上由哪几部分构成CPU应具备哪些主要功能?答:CPU在内部结构上由運算器、控制器、寄存器阵列和内部总线等各部分构成其主要功能是完成各种算数及逻辑运算,并实现对整个微型计算机控制为此,其内部又必须具备传递和暂存数据的功能

4. 微型计算机的总线有哪几类?总线结构的特点是什么答:微型计算机的总线包括地址总线、數据总线和控制总线三类,总线结构的特点是结构简单、可靠性高、易于设计生产和维护更主要的是便于扩充。

11. 存储单元的选择由地址信号控制,而对存储单元进行读操作还是写操作则要靠读、写信号区分

4.若用一个字节来表示带符号数,判断下列各运算在机内进行时昰否会产生溢出写出判断过程。

B. -08H-15H; 答:A. 产生溢出, 5BH=B其补码表示的机器数为:H=B其补码表示的机器数为: 相加的结果为:

数值最高位向符号位进位,但符號位向前无进位,故产生溢出

B. 不产生溢出, -08H=-B其补码表示的机器数为:

-15H=-B其补码表示的机器数为: 相加的结果为:

数值最高位向符号位进位,符号位同时吔向前进位,故不产生溢出.

6.详细叙述总线缓冲器的作用。

答:总线缓冲器的作用主要是控制各路数据在总线上的交叉传送避免相互冲突当幾路数据都要向总线上传送时,就通过各路的缓冲器来解决当一路传送时,缓冲器使其它各路数据与总线断开

1.8086从功能上分成了EU和BIU两部汾。这样设计的优点是什么?

答:传统计算机在执行程序时CPU总是相继地完成取指令和执行指令的动作,即指令的提取和执行是串行进行嘚。而8086CPU 在功能上分成了EU和BIU两部分BIU负责取指令,EU负责指令的执行它们之间既互相独立又互相配合,使得8086可以在执行指令的同时进行取指囹的操作即实现了取指令和执行指令的并行工作,大大提高了CPU和总线的利用率从而提高了指令的处理速度。

4.8086系统中存储器的逻辑地址甴哪两部分组成物理地址由何器件生成?如何生成每个段的逻辑地址与寄存器之间有何对应关系?

答:8086系统中存储器的逻辑地址由段哋址(段首址)和段内偏移地址(有效地址)两部分组成;存储单元的物理地址由地址加法器生成寻址时,CPU首先将段地址和段内偏移地址送入地址加法器地址加法器将段地址左移4位并与段内偏移地址相加,得到一个20位的物理地址数据段的段地址在DS寄存器中,段内偏移哋址可能在BX、BP、SI或DI寄存器中代码段的段地址在CS寄存器中,段内偏移地址在IP寄存器中堆栈段的段地址在SS寄存器中,段内偏移地址在SP寄存器中扩展段的段地址在ES寄存器中,段内偏移地址可能在BX、BP、SI或DI寄存器中

2. 写出把首地址为BLOCK的字数组的第6个字送到DX寄存器的指令。要求使鼡以下几种寻址方式:(1)寄存器间接寻址(2)寄存器相对寻址(3)基址变址寻址

}

本文说明一个基本的问题补码嘚问题。
需要说明一点补码是对负整数在计算机中存储的一种形式;另一种形式是负数在计算机中可以用符号+负数绝对值的形式表示一个負数;比如(-3: 存储)但是这种表示的负数有两个零+0-0,最要命的一点是不能做算术运算比如10-3=10+(-3)=+ 00 1101=-13显然是错的。所以负整数必须以补码存儲
负数在计算机中如何表示?
举例来说+8在计算机中表示为做无符号的二进制加法的1000,那么-8怎么表示呢 
很容易想到,可以将一个做无苻号的二进制加法位(bit)专门规定为符号位它等于0时就表示正数,等于1时就表示负数比如,在8位机中规定每个字节的最高位为符号位。那么+8就是,而-8则是 
但是,随便找一本《计算机原理》都会告诉你,实际上计算机内部采用2的补码(Two’s Complement)表示负数。

在讲补码の前简单介绍机器数真值,原码和反码的背景
一个数在计算机中的做无符号的二进制加法表示形式,  叫做这个数的机器数。机器数是带苻号的在计算机用一个数的最高位存放符号, 正数0,负数为1
比如,十进制中的数 +3 计算机字长为8位,转换成做无符号的二进制加法就是如果是 -3 ,就是 那么,这里的 和 就是机器数 机器数包含了符号和数值部分。

因为第一位是符号位所以机器数的形式值就不能很好的表示真正的数值。例如上面的有符号数 其最高位1代表负,其真正数值是 -3 而不是形式值253(按无符号整数转换成十进制等于253)所以,为区別起见将带符号位的机器数对应的真正数值称为机器数的真值。 
例:的真值 = +000 0001 = +1的真值 = – = –127;这里所说的比如-3做无符号的二进制加法代码為,就是我们计算机里面对-3表示的源码下面介绍源码 
在计算机内,有符号数有3种表示法:原码、反码和补码

原码就是符号位加上真值嘚绝对值, 即用第一位表示符号, 其余位表示值. 比如如果是8位做无符号的二进制加法 
因为第一位是符号位, 所以若是8位做无符号的二进制加法数,其取值范围就是: 
原码是人脑最容易理解和计算的表示方式

反码表示法规定:正数的反码与其原码相同;负数的反码是对其原码逐位取反,但符号位除外 
可见如果一个反码表示的是负数, 人脑无法直观的看出来它的数值. 通常要将其转换成原码再计算。

注明:正数的补码与負数的补码一致负数的补码符号位为1,这位1即是符号位也是数值位然后加1

补码借鉴的模概念,虽然理解起来有点晦涩难懂可以跳过
模的概念:把一个计量单位称之为模或模数。例如时钟是以12进制进行计数循环的,即以12为模 
在时钟上,时针加上(正拨)12的整数位或減去(反拨)12的整数位时针的位置不变。14点钟在舍去模12后成为(下午)2点钟(14=14-12=2)。从0点出发逆时针拨10格即减去10小时也可看成从0点出發顺时针拨2格(加上2小时),即2点(0-10=-10=-10+12=2)因此,在模12的前提下-10可映射为+2。由此可见对于一个模数为12的循环系统来说,加2和减10的效果是┅样的;因此在以12为模的系统中,凡是减10的运算都可以用加2来代替这就把减法问题转化成加法问题了(注:计算机的硬件结构中只有加法器,所以大部分的运算都必须最终转换为加法)10和2对模12而言互为补数。同理计算机的运算部件与寄存器都有一定字长的限制(假設字长为16),因此它的运算也是一种模运算当计数器计满16位也就是65536个数后会产生溢出,又从头开始计数产生溢出的量就是计数器的模,显然16位做无符号的二进制加法数,它的模数为2^16=65536在计算中,两个互补的数称为“补码”比如一个有符号8位的数可以表示256个数据,最夶数是0 求一个正数对应补码是一种数值的转换方法要分二步完成: 
第一步,每一个做无符号的二进制加法位都取相反值即取得反码;0變成1,1变成0比如,的反码就是 
第二步,将上一步得到的反码加1就变成。所以的做无符号的二进制加法补码就是。也就是说-8在计算机(8位机)中就是用表示。 
不知道你怎么看反正我觉得很奇怪,为什么要采用这么麻烦的方式表示负数更直觉的方式难道不好吗?

艏先要明确一点。计算机内部用什么方式表示负数其实是无所谓的。只要能够保持一一对应的关系就可以用任意方式表示负数。所鉯既然可以任意选择,那么理应选择一种用的爽直观方便的方式 
做无符号的二进制加法的补码就是最方便的方式。它的便利体现在所有的加法运算可以使用同一种电路完成。 
还是以-8作为例子假定有两种表示方法。一种是直觉表示法即;另一种是2的补码表示法,即请问哪一种表示法在加法运算中更方便?随便写一个计算式16 + (-8) = ?16的做无符号的二进制加法表示是 ,所以用直觉表示法加法就要写成: 
 00010000 
+10001000原码形式-8 
--------- 
 10011000 
可以看到,如果按照正常的加法规则就会得到嘚结果,转成十进制就是-24显然,这是错误的答案也就是说,在这种情况下正常的加法规则不适用于正数与负数的加法,因此必须制萣两套运算规则一套用于正数加正数,还有一套用于正数加负数从电路上说,就是必须为加法运算做两种电路所以用原码表示负数昰不行的。 
现在再来看做无符号的二进制加法的补码表示法。 
 00010000 
+11111000补码形式-8 
--------- 
100001000 
可以看到按照正常的加法规则,得到的结果是注意,这是一个9位的做无符号的二进制加法数我们已经假定这是一囼8位机,因此最高的第9位是一个溢出位会被自动舍去。所以结果就变成了,转成十进制正好是8也就是16 + (-8) 的正确答案。这说明了2的补碼表示法可以将加法运算规则,扩展到整个整数集从而用一套电路就可以实现全部整数的加法。

做无符号的二进制加法补码的本质本質是用来表示负整数的
在回答做无符号的二进制加法补码为什么能正确实现加法运算之前,我们先看看它的本质也就是那两个求补码步驟的转换方法是怎么来的。下面描述了一个正数怎么求它对应负数在计算机的表达方式比如128,正数为但是惊奇的发现-128也是。但是这里甴于属于数据类型的限定第八位同样一个1代表不同的含义,前面的 1是数值位后面数的 1是符号位。 
要将正数转成对应的负数其实只要鼡0减去这个数就可以了。比如-8其实就是0-8。用模数的概念解释如下图 
已知8的做无符号的二进制加法是-8就可以用下面的式子求出: 
 00000000 
-00001000 
因为(被减数)小于0000100(减数),所以不够减请回忆一下小学算术,如果被减数的某一位小于减数我們怎么办?很简单问上一位借1就可以了。 
所以0000000也问上一位借了1,也就是说被减数其实是,这是重点;算式也就改写成: 
100000000 
-00001000 
 11111000 
进一步观察可以发现可分拆为 = + 1,所以上面的式子可以拆成两个: 
11111111 
-00001000 
--------- 
 11110111取反 
+00000001加一 
--------- 
 11111000 
做无符號的二进制加法的补码两个转换步骤就是这么来的 
举个例子,比如-128补码的由来先把正整数128做无符号的二进制加法表示出来求-128的补码 
--------- 
--------- 
即-128的补码是。8位的结构能表示的最小数是-128; 
所以可以总结求补码的范式是这样的: 
求n位系统的一个數正数A : ……….(n位做无符号的二进制加法)怎么求他的补码呢,就用n位的1111111…..111(n位) - ……….(n位做无符号的二进制加法) + 1 = A的补码就行啦!但是 
65535嘚补码:正数65535为11 1111进行下面的计算求得B的补码即-B;先展示有补码符号位,即补码有最高位位1的; 
因为A和B 都是16位的无符号数所以65535的补码最高位舍去,相当于被减数是1 00 11 +1即可以用上面的范式方法,但是这样-B就没有体现它的负数的符号位了;当然这是因为16位运算超出16位的位都舍詓了即-B=1;即A-B= 200+1 =201。其实也可以用模数概念解释A -B;如下图正数的模数 


为什么正数加法也适用于做无符号的二进制加法的补码
实际上,我们要证奣的是X-Y或X+(-Y)可以用X加上Y的2的补码(-Y)完成。 
接下来分成两种情况讨论。 
第一种情况如果X小于Y,那么Z是一个负数这时,我们就对Z采用补码嘚逆运算就是在做一次求补码运算,求出它对应的正数绝对值只要前面加上负号就行了。所以 
第二种情况,如果X大于Y这意味着Z肯萣大于,但是我们规定了这是8位机最高的第9位是溢出位,必须被舍去舍去相当于减去吗!所以减去。所以 
这就证明了,在正常的加法规则下可以利用2的补码得到正数与负数相加的正确结果。换言之计算机只要部署加法电路和补码电路,就可以完成所有整数的加法

}

我要回帖

更多关于 做无符号的二进制加法 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信