欢迎来到万事通自考网

微型计算机原理及应用学习笔记 计算机的运算基

来源:www.bbdkv.com 2025-09-07

1、带符号数的表示法
计算机在进行算术运算时,需要可以表示正值和负值两种数字,习惯的作法是在数值 前加一个正号(+)或负号(一),如此表示的数称为带符号数。
由于计算机按二仅制规则进行运算,它只能辨别0和1 两种符号,所以数字的正负号也需要用0和1来编码,为此,专门设置了一个称为符号位的附加位并置于数值的最高有效位MSB(Most Significant Bit)之前,以表示该数字的正和负,按常规约定,0表示正号,1表示负号。
比如: +9210 = +1011100 2(以 7位二进数表示数值)
9210 = 1011100 2
这里的 十1011100 2 与 一 1011100 2 称为真值,以 X表示。而X在机器中的表
示形式为
十1011100 2 =01011100 2
一1011100 2 =11011100 2
这里的01011100 2与11011100 2中包括了数码化了的符号位0和1,这种将符号数码化后的数是计算机能辨别的数,称为机器数,以[X]表示。
带符号数有3种表示办法,筒述如下。
原码表示法
由前述可知,真值是带+一号的二进制数,若将真值中的符号十用符号位0表示,符号一 用符号位1表示,这种表示法称为原码表示法。因此 01011100 2 及11011100 2 都是原码。
设机器字长为n,最高位为符号位,则真值X的整数原码表示为

而真值X的小数原码表示为

比如:



(二)反码表示法
正数的反码表示与原码相同。负数的反码表示为:原码除符号位外,数值位按位取反即0变1,1变0。
比如:

设机器字长为n,最高位为符号位,则真值为X的整数反码表示为

而真值X的小数反码表示为

(三)补码表示法
上述机器数的原码表示法中O有两种表示法,即0000000O。和IO000000。;反码表 示法中0也有两种表示法,即00000000和1111 1111。因此在这二种表示法中8位二 进制数只能表示 255个数,即一 127一 + 127,有一个重码。
1. 补码与模
以钟表对时为例,设目前标按时间为5点正,对于指示为9点的钟表,可使用两种办法校准,一是将时针退9 | 5 = 4格,一是将时针向前拔 12 | 4 = 8格。这两种办法都能对准到5点。可见在这一命题中减 4和加 8是等价的,称8是(|4)对 12 的补码,用数学 公式表示为 | 4 = +8 (mod 12)
mod 12是指 12为模数,这个模表示自动被被扔掉的值,上式称为同余式。
上式也说明 | 4 和 +8 是互补的(对模 12而言),从该式也可见负数用补码表示时, 可以把减法转化为加法,在计算机中用硬件达成比较便捷。
2. 补码表示式
设机器字长为n位,则对整数而言其模为2 n ,真值X的补码表示为

而对小数而言,其模为2,真值X的补码表示为
比如 X= |1010011,n=8
则 [X]补=28+[|1010011]=100000000|1010011=10101101
一般可以借助原码求补码,正数的补码表示与原码相同。负数的补码表示为:原码除符号位外,数值位逐位求反后再加1。
在补码表示中,0具备唯一的编码00000000(8位),8位二进制补码能表示的数值范围为|128~+127。
8位二进制数表示的无符号数,带符号数(原码、反码、补码)的对照如表1|1所示。
表1|1 数的表示法

二进制数码表示

无符号二进制数

原码

补码

反码

00000000

0

+0

+0

+0

00000001

1

+1

+1

+1

00000010

2

+2

+2

+2

01111100

124

+124

+124

+124

01111101

125

+125

+125

+125

01111110

126

+126

+126

+126

01111111

127

+127

+127

+127

10000000

128

|0

|128

|127

10000001

129

|1

|127

|126

10000010

130

|2

|126

|125

11111100

252

|124

|4

|3

11111101

253

|125

|3

|2

11111110

254

|126

|2

|1

11111111

255

|127

|1

|0

2、数的定点和浮点表示办法
计算机中常见的数据表示格式有两种:一种是定点数,即事先均约定机器所有数据的小数点地方是固定不变的,且一般将数据表示为纯整数或纯小数,上一小节所述都为定点
数表示;另一种是浮点数。二者的格式如图1|2所示。


图1|2 定点数与浮点数
(一) 二进制的定点表示法
小数点固定的数称为定点数。
一个字长为 n 位的定点数,其中最高位表示符号,称为符号位,其余(n1)位 用来表示数值,称为数值位。
对定点整数,n位二进制数(包含符号位)所表示的整数X范围是

0|X|2n|1|1

对定点小数,n位二进制数(包含符号位)所表示的小数X范围是

0|X|1 | 2n|1

(二) 二进制数的浮点表示法
对于一些绝对值非常大的数,或需要表示的数值范围非常广的数,常常使用浮点表示法。 一个二进制数N可用如下形式表示
N=MRE
这里M称为浮点数的尾效,E称为阶码,M为定点小数、E为定点整数,R为阶码的基教,在二进制数中R=2。
在计算机中浮点数一般表示为如图1|3格式。

浮点数格式

一般阶码用补码表示,便于指数加减运算。尾数可以取补码或原码,但常用原码表示, 由于原码便于乘除运算,而进行加减运算时,转换成补码也便捷。。
若一个浮点数的阶码有m位(不包含阶符),尾数有K位(不包含尾符),则可表示的数的最大绝对值为:阶符为正、阶码和尾数全为1时,即

|N|max=(1-2K)× 22n|1|1

而可表示的数的最小绝对值为:阶符为负,阶码为全1,尾数最低位为1,其余为0时,即

用浮点数进行运算,
则在运算前第一要对阶,且按大的阶对阶,不然可能丢失数字的有效位而引起误差。
一般浮点数都以规格化形式表示,如果是原码尾数,最高尾数为l是规格化形式;如果是补码尾数,则正数的最高尾数位为1,负数的最高尾数位为0才是规格化数,即尾数的最高位与符号位需要相反。
使用规格化形式表示浮点数可以保留最多的有效数字,提升运算精度。

比如 数 0.000101×25的规格化表示为0.101×22。

在浮点数表示中,当一个数的阶码大于机器所能表示的最大阶码时,产生上溢,转入溢出中断处置;当一个数的阶码小于机器所能表示的最小阶码或尾数为 0 时,则产生下溢,下溢机会器一般将此当作机器零来处置。
最后需说明的是,浮点数格式除图 1|3 所表示的格式外,还可如图 l|4 所示。

图1|4 浮点数的另一格式表示


3、算术运算的基础定点数的加减运算
计算机一般使用二进制来表示数,由于使用二进制计数在电路上易于达成,且稳定靠谱,另外,二进制的运算规则简单。
二进制的运算规则为

带符号数在机器中有多种表示办法,最常见的有三种,即原码、反码和补码。同一种算术运算,对于不一样的数码表示法有不一样的规则。因为补码表示法在同一个电路既可用于元符号数相加,又可用于有符号数相加,同时借助补码运算能使减法转换为加法,因此现在绝大部分计算机都使用补码表示法来进行加减运算。
(一)补码的加减运算规则


为两个n位补码表示的二进制小数,Xs、Ys为两数的符号位,在加减运算中同数据位一块参与运算。
则补码数的加减运算规则为

[X+Y]补=[X]补+[Y]补

[X|Y]补=[X]补+[|Y]补

可见,补码的加法运算只须把两个补码数直接相加(包含符号位在内)就能得到和数的补码表示。而减法运算可以通过加法运算来达成,只不过在运算之前,需要对[Y]补进行一次求补运算,求得[|Y]补。马上减数的补码表示[Y]补变成其负数的补码表示[|Y]补,其转换过程为:将[T]补的各位(包含符号位的代码)取反加1。
(二)加减运算中溢出的辨别
两个定点数经过加减运算后,其结果(和数或差数)超越了定点数的表示范围,就会发生溢出,从而致使运算结果出错,因此在加减运算后需要辨别是不是发生溢出。
辨别溢出的常用办法有三种:
1.符号比较法
两个同符号数相加,若和数符号与原数符号不同,则表示发生溢出;两个异符号数相减,若差数符号与减数符号相同,则也表示发生溢出。而两异符号数相加或两同符号数相减是不会发生溢出的。

例1 [X]补=1.0011,[Y]补=1.0101
则 [X+Y]补=[X]补+[Y]补=1.0011+1.0101=10.1000=0.1000

本例中,和数的符号位(0)与原数的符号位(1)相异,发生溢出。
例2 [X]补=0.1010,[Y]补=1.1001
则 [|Y]补=0.0111
[X|Y]补=[X]补+[|Y]补=0.1010+0.0111=1.0001
本例中,差数的符号位(1)与减数的符号位(l)相同,发生溢出。
使用这种辨别法需要保留加法运算中加数和减法运算中减数的符号,这是可以达成的,由于在加减法运算中加数及减数一般是维持不变的。
2. 双进位法
加减运算后和数及差数中的符号位的进位输入Cin(即数值位的最高位向符号位的进位)与进位输出Cout(即符号位在运算中向高中一年级位的进位)相异,则有溢出,表示为

以上述两例说明之:
例1 运算过程中
则 ,有溢出

例2 运算过程中
则 ,有溢出。
3. 双符号位法
对参加运算的数在运算过程中使用两个符号位,若运算结果和数或差数的两个符号位不相同,表示结果有溢出,而运算最后结果仍取一个符号位。
仍以上两例说明之:
例1 [X]补=1.0011,[Y]补=1.0101
则 [X+Y]补=[X]补+[Y]补=11.0011+11.0101=10.1000=0.1000
两个符号位为10,相异,有溢出
例2 [X]补=0.1010,[Y]补=1.1001
则 [|Y]补=0.0111
[X|Y]补=[X]补+[|Y]补=00.1010+00.01111=01.0001=1.0001
两个符号位为01,相异,有溢出。
再举两例:
例3 [X]补=0.0100,[Y]补=0.1010
则 [X+Y]补=00.0100+00.1010=00.1110=0.1110
两个符号位为00,相同,无溢出
例4 [X]补=1.0111,[Y]补=0.0001
则 [|Y]补=1.1111
[X|Y]补=[X]补+[|Y]补=11.0111+11.1111
两个符号位为11,相同,无溢出
在例1中,结果的双符号位为10,表示两个负数之和小于计算机所能表示的最小负数,称为下溢(10也表示负数被正数相减后所得结果小于计算机所能表示的最小负数);例2中,结果的双符号位为01,表示正数被负数相减后所得结果大于计算机所能表示的最大正数,称为上溢(01也表示两个正数之和大于计算机所能表示的最大正数)。
4、二进制信息编码
所谓二进制信息编码是指用二进制代码来表示计算机所要处置的信息数值、数字、字母和符号等,一般表示为若干位二进制码的组合。
(一)BCD码(二十进制码)

一般用4位二进制数来表示1位十进制数,表示的办法不少,最常见的是使用标准8421位权制的二进制代码,称为8421BCD码, BCD即Binary Coded Decimal二进制编码的十进制数。但凡用若干位(一般是4位)二进制数码来给l位十进制数编码的都称为 BCD码(二一十进制码),842lBCD码是 BCD码的一种。 842lBCD码同十进制数、二进制数的关系如表1|2所示。
表1|2 十进制数、二进制数和BCD码对照表

十进制

二进制

8421BCD码

十进制

二进制

8421BCD码

0

1

2

3

4

5

6

7

0000

0001

0010

0011

0100

0101

0110

0111

0000

0001

0010

0011

0100

0101

0100

0111

8

9

10

11

12

13

14

15

1000

1001

1010

1011

1100

1101

1110

1111

1000

1001

00010000

00010001

00010010

00010011

00010100

00010101

BCD码比较直观,看到一个用BCD码表示的数,可以立即写出该数的十进制表示。比如100010010011.011101100100BCD=893.76410。

(二)ASCⅡ码
现在在计算机中应用最广泛的字符编码系统是ASCⅡ码(American standard Code for Information Interchange,美国信息交换标准码),标准的ASCⅡ码由7位二进制代码组成,可表示 27=128种不一样的字符,包含十进制数字0~9,英文26个字母大写与小写,标点符号,数据控制的其他专用字符。ASCⅡ字符编码表见表1|3。
在计算机系统中,数据传送的基本单位是字节一一8位,因此在一个字节中存放ASCⅡ代码时,最高位b7常用作奇偶校验位,用以辨别数码传送是不是正确,b7这一位的数值由奇偶校验的种类决定。
偶校验:是指包含奇偶校验位在内,所有1的位数之和是一个偶数。比如,数字3的ASCⅡ代码为0110011,由于代码中有4个1,是偶数,所以奇偶校验位B7=0,则数字3的带偶校验的ASCⅡ代码为00110011。
奇校验:是指包含奇偶校验位在内,所有1的个数为奇数。显然,此时数字3的带奇校验的ASCⅡ代码为10110011。
(三)汉字编码
在国内要推广普及计算机,需要解决在计算机上输入、处置和显示汉字的问题,其重点是汉字编码问题。
1. 汉字的输入编码
现在较常见的输入码有①数字编码(常见的是国标区位码,优点是无重码,且输入码与内部码的转换较便捷,缺点是代码难记);②拼音码(以汉语拼音为基础的输入办法,优点是熟知汉语拼音者即能用,缺点是重码率高,需过去时行赞同字选择,影响输入速度);③字形码(按汉字的字形进行编码,最常见的是五笔字型码)。另外还有词组输入、联想输入等多种迅速输入办法。
2. 国标码与汉字机内码
国标码是国家标准汉字编码的简称,该编码集的全名是信息交换用汉字编打字符集基本集,国家标准编号为GB231280,又称为 GB231280编码
国标码规定:一个汉字用两个字节表示,每一个字节只用前7位,最高位都未作概念,为书写便捷,常用4位十六进制数来表示一个汉字。
国标码是一种汉字交换码,其主要用途是:用于统一不一样的系统之间所用的不同编码。
汉字机内码是汉字在计算机部存储、运算、处置的代码,一般使用两个字节表示,两个字节的最高位均规定为1,比如在国标码的两个七位编码的最高位之前各加一个1,即形成了两个字节的汉字机内码,简称内码。
3. 汉字字模码
字模码是用点阵表示的汉字字形代码,是汉字的输出形式,又称字形码。

相关文章推荐

09

07

微型计算机原理及应用学习笔记 计算机的运算基

1、带符号数的表示法计算机在进行算术运算时,需要可以表示正值和负值两种数字,习惯的作法是在数值 前加一个正号(+)或负号(一),如此表示的数称为带符号数。由于计算机按二仅制规则进行运算,它只能辨别0和1 两种符号,所以数字的正负号也需要用0

09

07

2020年山东自学考试行政与公共事业管理章节核心

第二章1、公共事业管理环境:指外部环境,即公共管理主体系统赖以存在和进步的外部条件的总和,或者说是直接或间接用途或影响公共事业管理主体及其活动方法、活动过程的外部要点的总和。2、公共事业管理环境的特点:1、广泛性2、复杂性3、差异性3、公共

09

07

2022年十月山东自学考试《基础会计学》专项习题

1、会计核算以作为要紧单位A.货币 B.重量 C.长度 D.台数2、反映企业经营成就,构成损益表的会计要点有 .A.收入、本钱收益 B.收入、成本、收益C.资产、负债、所有者收益 D.资产、负债、收益3、损益表不反映状况。A.资产 B.收入

09

07

2022年山东自学考试《法律基础与思想道德修养》

第六章 弘扬社会主义法治精神依法治国的内容及与其有关定义的关系识记:1.依法治国的定义 P166依法治国,就是广大人民群众在党的领导下,根据宪法和法律的规定,通过各种渠道和形式管理国家事务,管理经济文化事业,管理社会事务,保证国家各项工作都

09

07

上海交通大学联系方法和电话

主考学校地址咨询电话上海交通大学法华镇路535号主楼309 室64481738

09

07

2019年4月汕头自学考试有打造考生诚信考试报名

问:2019年4月汕头自学考试有打造考生诚信考试报名档案试点吗?答:依据广东教育考试院发布的《2019年4月广东自考拓展打造考生诚信考试报名档案试点地市名单公布》,由此可知,广东打造考生诚信考试报名档案的试点只有深圳、清远,汕头2019年4

09

07

全国2008年7月高等教育自学考试预防医学(二)

全国2008年7月高等教育自学考试预防医学(二)考试试题 课程代码:032001、单项选择题在每小题列出的四个备选项中只有一个是符合题目需要的,请将它代码填写在题后的括号内.错选、多选或未选均无分. 1.下列是生态系统功能的是() A.信息

09

07

汕头自学考试中的加考和选考有什么不同?

汕头自学考试中的加考和选考有什么不同?汕头自学考试科目中是有加考和选考的,不少人都想了解汕头自学考试中的加考和选考有什么不同,下面就跟着广东自考网上报名记者一块儿认识一下吧!汕头自学考试中的加考和选考有什么不同?汕头自学考试中加考课是不可以

09

06

惠州关于中止受理自考免考及考籍更正等申请的公

2020年自考马上开始,但因为疫情的影响,自学考试有关的考试需要延迟。因此,广东自学考试网特意整理了惠州关于中止受理自考免考及考籍更正等申请的公告有关信息,期望能对各考生有所帮助。

09

06

2020年8月自考专升本00537中国现代文学史试题及

2020年8月高等教育自考全国统一命题考试中国现代文学史试题(课程代码00537)1、单项选择题1.胡适提出“国语的文学,文学的国语”这一倡导的文章是A.《文学改良刍议》 B.《历史的文学观念论》C.《易卜生主义》D.《建设的文学革命论》2