版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、1,第2章 运算方法和运算部件,21 数据的表示方法和转换 22 带符号的二进制数据在计算机中的表示方法 23 二进制加减法运算 24二进制乘法运算 25阵列乘法器 26 二进制除法运算 27 浮点数的运算方法 28 算术逻辑单元ALU 29 数据校验码,2,21 数据的表示方法和转换,1.二进制数 在计算机中,十进制数的存储和运算都不太方便 于是二进制数应运而生。任意一个二进制数可表 示为: (N)2=Dm2m+Dm-12m-1+D121+D020 +D-12-1+D-22-2+D-k2-k 123+122+021+120+12-1+02-2+12-3=1101.101,3,数据的数值通常以
2、正(+)负(-)号后跟绝对值 来表示,称之为“真值”。 在计算机中正负号也需要数字化,一般用0表示正 号(正号有时可省略),1表示负号。 (01001)2或(1001)2表示(+9)10 (11001)2表示(-9)10,2.数据符号的表示,4,(1)十进制数的编码与运算 BCD码:表示一位十进制数的二进制码的每一位有 确定的权,一般用8421码表示。 BCD码特点:每个数位内部满足二进制规则,而数 位之间满足十进制规则。 ASCII码:每个字符用7位二进制代码表示,是128 个字符组成的字符集。,3.十进制数的编码与运算,5,(2)数字串在计算机内的表示与存储 主要有两种形式: a.字符形式
3、:即一个字节存放一个十进制数位或符 号位,存放的是09十个数字和正负号的ASCII编码 值。 +123的编码为2B 31 32 33,占用4个连续字节, 2B表示正号,31,32和33分别表示数字1,2和3。 -123的编码为2D 31 32 33,其中2D为负号。,3.十进制数的编码与运算,6,b.压缩的十进制形式:用一个字节存放两个十进 制数位,其值用BCD码或ASCII码的低4位表示。符 号位也占半个字节并放在最低数字位之后,其值可 从4位二进制码中的6种冗余状态中选用。例如,用 C(12)表示正号,D(13)表示负号。并规定数字 和符号位之和必须为偶数,否则在最高数字之前补 一个0。
4、例如:+123可表示成12 3C(2个字节) -12可表示成01 2D(2个字节),3.十进制数的编码与运算,7,2.2 带符号的二进制数在计算机中的表示方法,在计算机中表示的带符号的二进制数称为“机器数”。 机器数主要有三种表示方式:原码、补码和反码。 本课假设机器数为小数,符号位放在最左面,小数点置于符号位与数值位之间。数的真值用X表示。 例如:X=+0.1011,表示成机器数为0.1011(小数点可省略)。,8,2.2.1 原码、补码、反码,1. 原码表示法 机器数的最高位为符号位,0表示正数,1表示负数,数值跟随其后,并以绝对值形式给出。 即:X原=符号位+|X|。 例:X=+0.10
5、11,则X原=01011; X=-0.1011,则X原=1-(-0.1011)=11011; 数值零的真值有+0和-0两种表示形式,数值零的原码有两种表示形式。即:+0原=00000,-0原=10000。 原码的优缺点,9,机器数的最高位为符号位,0表示正数,1表示负数。 即:X补=2符号位+X(mod 2) 例:X=+0.1011,则X补=0.1011 X=-0.1011,则X补=2+X=2+(-0.1011)=1.0101 数值零的补码表示形式是唯一的 即:+0补=-0补=0.0000 证明:0.0000补=0.0000 -0.0000补=2+(-0.0000) =10.0000-0.00
6、00=10.0000=0.0000 (mod 2),2. 补码表示法,10,当补码加法运算的结果不超出机器范围时的重要结论: (1)用补码表示的两数进行加法运算,其结果仍为补 码; (2)X+Y补=X补+Y补; (3)符号位与数值位一样参与运算。 例:设X=0.1010,Y=0.0101,两数均为正数,则有: X+Y补=0.1010+0.0101补=0.1111补=0.1111 X补+Y补=0.1010+0.0101=0.1111 即:X+Y补=X补+Y补,2. 补码表示法,11,机器数的最高位为符号位,0表示正数,1表示负数。 即:X反=(2-2-n)符号位+X mod(2-2-n) 例:X
7、=+0.1011(n=4),则有:X反=0.1011 X=-0.1011(n=4),则有: X反=2-2-4+(-0.1011)=1.1111+(-0.1011)=1.0100 当X为正数时,X反=X原;当X为负数时,保持X原符 号位不变,而数值部分取反。反码运算是以2-2-n为模,所 以,当最高位有进位而丢掉进位(即2)时,要在最低位+1。,3. 反码表示法,12,例:X=0.1011,Y=-0.0100,则有: X+Y=0.1011+(-0.0100)=0.0111(真值) X+Y反=0.0111 X反=0.1011 Y反=1.1011 X+Y反=X反+Y反 =0.1011+1.1011=
8、10.0110 其中,最高位1丢掉,并要在最低位加1, 所以得X+Y反=0.0111 mod(2-2-4)。,3. 反码表示法,13,反码零有两种表示形式: +0反=0.0000,-0反=1.1111 反码运算在最高位有进位时,要在最低位+1,增加了运算的复 杂性,又影响了速度,因此很少采用。 结论:正数的原码、补码、反码的表示形式相同,而负数则各不相同。 补码有唯一的机器零,而原码和反码的机器零不唯一。,3. 反码表示法,14,(1)将反码表示的数据转换成原码 转换方法:符号位保持不变,正数的数值部分 不变,负数的数值 部分取反。 例:X反=0.1010,则X原=0.1010 真值X=0.1
9、010 X反=1.1010,则X原=1.0101 真值X=-0.0101,4. 数据从补码和反码表示形式转换成原码,15,(2)将补码表示的数据转换成原码 转换方法:符号位保持不变,正数的数值部分 不变,负数的数值 部分取反并在最低位加1。 例:X补=0.1010,则X原=0.1010, 真值X=0.1010 X补=1.1010,则X原=1.0110, 真值X=-0.0110,4. 数据从补码和反码表示形式转换成原码,16,设X=XnX2X1X0,其中Xn为符号位。 原码定义: 补码定义: 反码定义:,5. 整数的表示形式,17,2.2.2 定点数和浮点数,计算机中数据有定点数和浮点数两种表示
10、方式。 1. 定点数 定点数是指小数点固定在某个位置上的数据,一般有小数和整数两种表示方式。定点小数是把小数点固定在数据数值部分的左边,符号位的右边;定点整数是把小数点固定在数据数值部分的 右边。 1.1011表示定点小数;11011.表示定点整数。,18,浮点数是指小数点位置可浮动的数据,通常用下式表示: N=MRE ,N为浮点数,M为尾数,E为阶码,R为“阶的基数 (底)”,而 且R为常数,一般为2、8或16,浮点数在计算 机内的表示一般采用如下形式: Ms是尾数的符号位,设置在最高位。E为阶码,有n+1位, 一般为整数,其中有一位符号位,M为尾数,有m位,Ms和M组 成一个定点小数。Ms
11、=0,表示正号,Ms=1,表示负号。为保 证数据精度,尾数通常用规格化数表示:当R=2,且尾数不为 0时,其绝对值应大于或等于(0.5) 10。对非规格化浮点数, 通过尾数左移或右移,并修改阶码值使之满足规格化要求。,2. 浮点数,19,当一个浮点数的尾数为0,或阶码的值小于机器能表示的最小值 时,计算机都把该浮点数看成零值,称为机器零。 根据IEEE754国际标准,常用的浮点数有两种格式: (1)单精度浮点数(32位),阶码8位,尾数24位(内含1位符 号位)。 (2)双精度浮点数(64位),阶码11位,尾数53位(内含1位 符号位)。,2. 浮点数,20,在多数通用机中,浮点数的尾数用补码
12、表示,阶码用补码或移码表示。移码的定义如下: 当阶码为n+1位二进制整数,其中最高位为符号位时: X移=2n+X -2nX2n 将移码定义与整数补码的定义比较,可找出补码与移码之间的关系。 当0X2n时, X移=2n+X=2n+X补 当-2nX0时,X移=2n+X=(2n+1+X)-2n =X补-2n 结论:将X补的符号位取反,即得X移。,2. 浮点数,21,例:X=+1011 X补=01011 X移=11011 X=-1011 X补=10101 X移=00101 移码具有以下特点: (1)最高位为符号位,1表示正号,0表示负号。 (2)在计算机中,移码(阶码)只执行加减运算,且需要对得到的结
13、果加以修正,修正量为2n,即要对结果的符号位取反,得到X移。 (3)数据0有唯一的编码,即+0移=-0移=10000。当数据为机器能表示的最小数时(移码-2n),称为机器零,将阶码(移码)置成00000,且不管尾数值大小如何,都按浮点数下溢处理。,2. 浮点数,22,数值范围是指机器所能表示的一个数的最 大值和最小值之间的范围。数据精度是指 一个数的有效位数。数值范围和数据精度 是两个不同的概念。,3. 计算机中数据的数值范围和精度,23,3 二进制加减法运算,2.3.1 定点加法器的实现方案 二进制加法是实现算术运算的基础,实际上,乘除法也是通过加减运算和移位相结合的方案实现。 一般采用补码
14、进行二进制数的加减法运算。 补码加法运算的结果不超出机器范围时的重要结论: (1)用补码表示的两数进行加法运算,其结果仍为补码; (2)X+Y补=X补+Y补; (3)符号位与数值位一起参与运算。 对于减法运算,因为X-Y补=X补+-Y补,所以计算 时,可以先求出-Y的补码,然后在进行加法运算。,24,25,2.3.2 加减法运算的溢出处理,当运算结果超出机器数所能表示的范围时,称为溢出。 溢出分为正溢(上溢)和负溢(下溢)。 以4位二进制补码正整数加法运算为例,说明溢出的产生情况:,设以fA,fB表示两操作数的符号位,fS表示结果的符号位,Cf表示符号位fA,fB产生的进位,C表示数值最高位产生的进位。 判别溢出的几种方法: (1)当符号相同的两数相加时,如果结果的符号与加数(或被加数)不相同,则为溢出。 即:,(2)当任意两数相加时,如果CCf,则为溢出。 即:,(3)采用双符号位,当结果的两个符
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- YY/T 2008-2026医用增材制造粉末床熔融用聚醚醚酮粉末
- 新春售楼营销方案模板(3篇)
- 春节除雪活动方案策划(3篇)
- 校园线上营销推广方案(3篇)
- 河道河提施工方案(3篇)
- 淘宝红酒营销推广方案(3篇)
- 电动吊篮施工方案说明(3篇)
- 砂石土垫层施工方案(3篇)
- 花店活动推动方案策划(3篇)
- 行车地梁施工方案(3篇)
- 地基桩基公司管理制度
- 郁南县2023年低效油茶林改造项目作业设计
- 《危重症患儿管饲喂养护理》中华护理学会团体标准解读
- 《国家综合性消防救援队伍队列条令(试行)》课件
- 2024年贵州省高考化学试题含答案解析
- 2025-2030年中国核桃种植深加工行业竞争格局与前景发展策略分析报告
- 《冻鲅鱼、冻鲐鱼》标准及编制说明
- 古诗鉴赏(简答题各题型答题技巧与答题规范)-2025年北京高考语文一轮复习(原卷版)
- 加油站施工施工组织设计方案
- 2024年西藏自治区中考语文试题卷
- 汽车配件物流运输服务方案
评论
0/150
提交评论