内容正文:
《计算机原理》考前概念
梳理与常考题选讲 专题一 数字设备中数和字符的表示方法 (2)
主讲人:郭老师
1
一、教材要求
2
一、教材要求
1.掌握二进制、十六进制、十进制的表示方法及相互间转换方法。
2.掌握二进制的算术运算及逻辑运算。
3.掌握有符号数的原码、反码、补码。
4.理解溢出的概念,掌握溢出的判断方法。
5.了解定点数和浮点数的表示方法。
6.了解8421 BCD码和ASCII码的表示方法。
3
二、概念梳理
4
二、概念梳理
1. 原码、反码和补码的表示方法
(1)原码:在数值的前面直接加一符号位的表示法称为原码表示法。
(2)反码:正数的反码与原码相同;负数的反码,符号位仍为“1”,数值部分“按位取反”。
(3)补码
① 模的概念:把一个计量单位称为模或模数,用M 表示。
5
② 补码的表示:在补码表示法中,正数的补码与原码相同;负数的补码则是符号
位为 “1”,数值部分按位取反后再在末位(最低位)加1。
注意:
1.有符号数一般采用补码表示。
2.正数的补码即它所表示的数的真值,而负数补码的数值部分却不是它所表示的数
的真值。
3. 采用补码进行运算,所得结果仍为补码。为了得到结果的真值,还得进行转换
(还 原)。转换前应先判断符号位,若符号位为0,则所得结果为正数,其值与真值
相同;若符 号位为1,则应将它转换成原码,然后得到它的真值。
4.与原码、反码不同,数值0的补码只有一个
6
2. 原码、反码和补码之间的转换
由于正数的原码、反码和补码表示方法相同,因此不存在转换问题。下面仅分析
负数的 原码、反码和补码之间的转换。
7
(1)已知原码,求补码
(2)已知补码,求原码
(3)求补:所谓求补,就是将 [X]* 的所有位(包括符号位)一起逐位取反,然后在
末位加1,即 可 得 到 一X 的 补 码 , 即 [ -X] 外。不管X 是 正 数 还 是
负 数 , 都 应 按 该 方 法 操 作 。
8
(4)已知补码,求对应的十进制数
方法1:“求反加1”法。
采用这种方法时,将补码的符号位和数值部分视为一个整体,按位取反,再在最
低位上 加1,得到真实结果的二进制数的绝对值。在此结果前面加一负号即得正确
答案。将上面的 补码按位求反,并加1,可得:01010100+1=010101-01B=85, 所
求十进制数为-85。
方法2:“零减补码”法。
该方法仍将补码的符号位和数值部分视为一个整体,用数零去减补码,做减法时
不理会 最高位产生的借位,所得结果即为该二进制数的绝对值。
9
1.3.2 有符号数运算时的溢出问题
在计算机中,所有信息均用0和1表示。具体地讲,有符号数和无符号数在表现形
式上 是无法分辨的,而是由程序设计者人为规定的,当然在处理上也就不同了。
由于无符号数的 各位均为数值,判断运算结果是否溢出,只要测试进位位即可。
若为“1”则表示溢出,反之 结果正确。
两个有符号数进行加法运算时,如果运算结果超出可表示的有 符号数的范围,
就会发生溢出,使计算结果出错。很显然,溢出只能出现在两个同符号数相 加或
两个异符号数相减的情况下。
具体地讲,对于加运算,如果次高位(数值部分最高位)形成进位加入最高位,
而最高 位(符号位)相加(包括次高位的进位)却没有进位输出时,或者反过来,次高
10
位没有进位 加入最高位,但最高位却有进位输出时,都将发生溢出。因为这两种
情况分别是:两个正数相加, 结果超出了范围,形式上变成了负数;两个负数相
加,结果超出了范围,形式上变成了正数。
1.4 定点数和浮点数
在计算机中,用二进制数表示实数的方法有两种,即定点法和浮点法。
1.4.1 定点法
定点数是指小数点的位置固定不变,以定点表示的数。通常,定点表示有以下两
种方法。
方法1:规定小数点固定在最高数值位之前,机器中能表示的所有数都是小数。 n
位数 值部分所能表示的数N 的范围是:
-1<N<1
它能表示的数的绝对值为|x|<1。
12
方法2:规定小数点固定在最低数值位之后,机器中能表示的所有数都是整数。n
位数 值部分所能表示的数N 的范围是:
-2^n<N<2^n
它能表示的数的绝对值为|x|<2^n。
任意一个二进制数N 都可以写成下面的形式:
N=±d×2±p
式中:d 称为尾数,是二进制纯小数,指明数的全部有效数字;d 前面的符号称
为数符,表示 数的符号,用尾数前的1位表示,0表示正号,1表示负号; p 称为
阶码; p 前面的符号称为 阶符,用阶码前的1位表示,阶符为正时,用0表示,
阶符为负时,用1表示。由此可知, 将尾数d 的小数点向右(对+p) 或向左(对一p)
移动p 位,即得数值N。 所以阶符和阶码 指明小数点的位