




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二章运算方法与运算器
运算方法和运算器本章内容:2.1数据与文字的表示方法2.2定点加法、减法运算2.3定点乘法运算2.4定点除法运算2.5定点运算器的组成2.6浮点运算方法和浮点运算器本章小结运算方法和运算器2.1数据与文字的表示方法2.1.1数据格式2.1.2数的机器码表示2.1.3字符与字符串的表示方法2.1.4汉字的表示方法2.1.5校验码数据与文字的表示方法无论什么类型的信息,在计算机内部都是以二进制编码形式表示的。每个数都可以表示成按“权”展开的多项式十进制346.79=3×102+4×101+6×100+7×10-1+9×10-2二进制1011.101=1×23+0×22+1×21+1×20+1×2-1+0×2-2+1×2-3八进制107.63=1×82+0×81+7×80+6×8-1+3×8-2十六进制1CB.D8=1×162+12×161+11×160+13×16-1+8×16-2几进制的表示 (1)B,D,H,O的使用 (2)下标法B:binary(二进制)D:decimal(十进制)O:octal(八进制)H:hexadecimal(十六进制)如:346.79D,1011.101B107.63O,1CB.D8H二、八、十六和十进制数的对应关系二进制数八进制数十六进制数十进制数0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
111100
01
02
03
04
05
06
07
10
11
12
13
14
15
16
170
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
151.二进制、十六进制转换为十进制(1011.101)2=1×23+0×22+1×21+1×20+1×2-1
+0×2-2+1×2-3=(11.625)10(3D.B)16=3×161+13×160+11×16-1=(61.6875)102.十进制转换为二进制 整数部分:除2取余,倒序取 小数部分:乘2取整,顺序取3.十进制转换为八进制、十六进制
类似于十进制转换为二进制,只是权不同(20.59375)10转换成2进制为?二进制与十六进制数之间的转换(16=24)
011010011010.11101010011069A.EA6二进制与八进制数之间的转换(8=23)
011010011010.111010100110
3232.7246目标:11010011010.11101010011二、八、十六和十进制数的对应关系二进制数八进制数十六进制数十进制数0000
0001
0010
0011
0100
0101
0110
0111
1000
1001
1010
1011
1100
1101
1110
111100
01
02
03
04
05
06
07
10
11
12
13
14
15
16
170
1
2
3
4
5
6
7
8
9
A
B
C
D
E
F0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15二进制数的运算规则加法规则0+0=00+1=11+0=11+1=0减法规则0-0=00-1=11-0=11-1=0乘法规则
0×0=00×1=01×0=01×1=1除法规则0÷1=01÷1=11101111111=10000000-1=27-10.1111111=1.0000000-0.0000001=1-2-77个17个0小数点后7位小数点后7位2.1.1数据格式
计算机中常用的数据表示格式有两种:(1)定点格式(2)浮点格式
定点格式(小数点位置固定)容许的数值范围有限,但要求的处理硬件比较简单。
浮点格式(小数点位置浮动)容许的数值范围很大,但要求的处理硬件比较复杂。数据格式1.
定点数的表示方法定点表示:约定机器中所有数据的小数点位置是按约定固定不变的,小数点就不再使用记号“.”来表示。定点数据的形式:纯小数或纯整数。
(设:定点数表示为x=x0x1x2…xn
其中:x0符号位,0代表正号,1代表负号)小数点的位置约定在符号位x0的后面(不显示)小数点的位置约定在数值位xn的后面(不显示)定点数的表示方法定点数例例:X=+1010110.纯整数:X=01010110.正数,符号位取0Y=-1101001.纯整数:Y=11101001.负数,符号位取1X=+0.11011Y=-0.10101符号位取0纯小数:X=0.11011符号位取1纯小数:X=1.10101纯整数:X=01010110.符号位取0纯整数:Y=11101001.符号位取1符号位取0纯小数:X=0.11011符号位取1纯小数:X=1.10101注意到:无论是整数或是小数,在机器数的表示中,都不出现小数点“.”,只是约定其位置。定点数例(x0x1x2…xn
各位均为0时最小;各位均为1时最大)纯小数的表示范围:0≤|x|≤1-2-n
(2.1)
纯整数的表示范围为: 0≤|x|≤2n-1(2.2)
目前计算机中多采用定点纯整数表示,因此将定点数表示的运算简称为整数运算。
定点数的表示方法2、浮点数的表示方法例:156.78 =15.678×101
=
1.5678×102
=0.15678×103=M×RE其中:M为尾数;R为基数;E为阶码(指数)。二进制数在定点计算机中,一般约定:尾数|M|<1.0,并按此原则确定各数据的浮点表示格式。∴上例+156.67=0.15678×103
(规格化表示法)同理:对于二进制数+1011.1101=+0.10111101×2+4
=0.10111101×2+100=M×RE那么,计算机中究竟采用哪种数据形式?显然存在多种数据形式浮点数的表示方法浮点数表示可见: 一个机器浮点数由阶码E和尾数M及其符号位组成。约定:尾数M用定点小数表示,给出有效数字的位数,M决定了浮点数的表示精度;
阶码E:用整数形式表示,指明小数点在数据中的位置,其决定了浮点数的表示范围。早期计算机中浮点数的一般形式为:
浮点数表示按照IEEE754的标准,32位浮点数和64位浮点数的标准格式为:其中:S=浮点数的符号位,0表示正数,1表示负数。
M=尾数,23位,用纯小数表示。E=阶码,8位,阶符采用隐含方式,即采用移码方式来表示正负指数。
其中:S=浮点数的符号位,0表示正数,1表示负数。
M=尾数,52位,用纯小数表示。E=阶码,11位,阶符采用隐含方式,即采用移码方式来表示正负指数。
浮点数表示几点注释:
为了提高数据表示精度,当尾数值不为0时,尾数域的最高有效位应为1,否则通过修改阶码同时左右移小数点的办法,使其变成这一表示形式,这称为浮点数的规格化表示。浮点数所表示的范围显然远比定点数大。以下两种情况计算机都把该浮点数看成零值,称为机器零。⑴当浮点数的尾数M为0;(不论其阶码E为何值)⑵当阶码E的值<Emin值时。(不管其尾数M为何值)
IEEE754标准中,一个规格化的32位浮点数x的真值可表示为x=(-1)S×(1.M)×2E-127e=E-127IEEE754标准中,一个规格化的64位浮点数x的真值可表示为x=(-1)S×(1.M)×2E-1023e=E-1023因为规格化的浮点数的尾数域最左位(最高有效位)总是1,故这一位经常不予存储浮点数表示[解:]首先分别将整数和分数部分转换成二进制数:20.59375=10100.10011然后移动小数点,使其在第1,2位之间10100.10011=1.010010011×24小数点被左移了4位,于是得到:e=4
尾符
S=0,阶码
E=4+127=131,尾数
M=010010011最后得到32位浮点数的二进制存储格式为:01000001101001001100000000000000=(41A4C000)16此“1”被隐藏[例]:将十进制数20.59375转换成位浮点数的二进制格式来存储。
3.十进制数串的表示方法十进制数串在计算机内主要有两种表示形式:
1.字符串形式字符串形式:每一个十进制的数位或符号位都用一个字节存放。如:+12
+12-38-382.压缩的十进制数串形式压缩的十进制数串形式:一个字节存放两个十进制的数位。如:+123、-12
123C(+123)012D(-12)十进制数的表示方法2.1.2数的机器码表示
基本思想:把符号位和数字位一起编码来表示一个 实际的数。主要表示方法有:原码、补码、反码、移码等。各种编码表示的数称为机器数或机器码;其对应的真实数值称为该编码对应的真值。数的机器码表示对于定点整数
X=±Xn-1…X1X0,则原码的定义是:对于定点整数,其原码形式为:[x]原=xnxn-1…x1x0,注意到:原码机器中“+0”、“-0”有两种形式:对于定点整数:[+0]原=0000…0.[-0]原=1000…0.数的原码表示x2n>x≥02n-x=2n+|x|0≥x>-2n(2.8)符号数值1.原码表示法一般情况下,对于定点整数,其真值与原码之间的转换符合下面的规律:x=+x1x2…xn[x]原=0x1x2…xn.x=-x1x2…xn[x]原=1x1x2…xn.对于定点小数,其真值与原码之间的转换符合下面的规律:x=+0.x1x2…xn[x]原=0.x1x2…xnx=-0.x1x2…xn[x]原=1.x1x2…xn数的原码表示原码的表示范围是多少?则它能表示的数的范围为[-(2n-1),2n-1]假设[x]原=xnxn-1…x1x0正的最大值原码形式为:负的最小值原码形式为:011……1111……1
原码表示法的主要特点是简单、易懂,但它的最大缺点是:由于数值部分采用绝对值表示,因而使得加减法运算比较复杂,而加减法运算正是计算机中最常使用的运算。所以,必须探讨解决方法——补码则正是一种解决方法。数的原码表示例如,假设用5位原码来表示,x=+1001则[x]原=01001y=-1001则[y]原=110012.反码表示法二进制数求反:就是二进制的各位数码0变为1,1变为0。即:若xi=0,则=1。若xi=1,则=0.对定点整数,反码表示的定义为:数的反码表示正数的反码就是本身负数的反码则是符号位为1,数值位求反。x2n
>x≥0
(2n+1-1)+x0≥
x≥-2n(2.13)_例如,假设用5位反码来表示,x=+1001则[x]反=01001y=-1001则[y]反=10110注意到:机器中反码“+0”、“-0”有两种形式:对于定点整数:[+0]反=0000…0.[-0]反=1111…1.反码的表示范围是多少?则它能表示的数的范围为[-(2n-1),2n-1]假设[x]反=xnxn-1…x1x0正的最大值原码形式为:负的最小值原码形式为:011……1100……0一般情况下,对于定点整数,其真值与反码之间的转换符合下面的规律:x=+x1x2…xn[x]反=0x1x2…xn.x=-x1x2…xn[x]反=1x1x2…xn.对于定点小数,其真值与反码之间的转换符合下面的规律:x=+0.x1x2…xn[x]反=0.x1x2…xnx=-0.x1x2…xn[x]反=1.x1x2…xn数的原码表示3.补码表示法
补码的概念(以钟表对时为例)
假设现在的标准时间为4点正;而有一只表已经7点了,为了校准时间,可以采用两种方法:一是将时针退7-4=3格;一是将时针向前拨12-3=9格。显然:这两种方法都能对准到4点,由此可以看出,减3和加9是等价的。所以称:当模数Mod=12时,9是(-3)补码。用数学公式表示:-3=+9 (mod12)“模”表示被丢掉的数值。上式在数学上称为同余式。
∴设某数为x,当Mod=12时,x-3=x+9、x+7=x-5都是等价的。从这里可以得到一个启示,就是负数用补码表示时,可以把减法转化为加法。数的补码表示补码的定义:1、定点整数正数的补码就是本身负数的补码需作运算数的补码表示x2n
>x≥0
2n+1+x=2n+1-|x|0≥
x≥-2n(mod
2n+1)
注:上式机器数的位数为n+1根据补码定义,求负数的补码时需作一次减法运算,这显然不是补码方法的初衷。后面将介绍反码表示法可以解决负数的求补问题。例:已知 x=+10111, y=-11011,求[x]补、[y]补(n=5)按定义:[x]补=010111 [y]补=25+1+y=1000000-11011=100101数的补码表示100000011011100101数的补码表示注:0的补码只有一种形式
对于定点整数:[+0]补=[-0]补=00000.
因此,补码的表示范围相对于原码、反码来讲多一种,n+1位定点整数可以表示-2n。对定点整数,反码表示的定义为:
比较两个公式,可以得出定点整数的补码与反码的关系,找出利用反码求定点整数补码的方法。当x为负数时,[X]补=[X]反+1x2n
>x≥0
(2n+1-1)+x0≥
x≥-2n(2.13)_数的补码与反码关系x2n
>x≥0
2n+1+x=2n+1-|x|0≥
x≥-2n(mod
2n+1)
对一个定点整数来说,一个负数的补码,可以通过将该数符号位置1,其余取反,然后在最末位加1的方法直接获得。数的补码与反码关系补码的表示范围是多少?则它能表示的数的范围为[-2n,2n-1]假设[x]补=xnxn-1…x1x0正的最大值原码形式为:负的最小值原码形式为:011……1100……0正负整数的补码与真值的关系假设[x]补=xnxn-1…x1x0则其补码表示的真值为:x=-2nxn+∑2ixii=0n-1例3:已知[x]补=010011011求x=?例4:已知[x]补=110011011求x=?
求一个数的补码的另一种有效的转换方法:
对于负数,将原码的符号位不变(或置真值的符号位至1),数值部分由低位向高位转换,对开始遇到的0和第一个1取其原码,以后的各位均取反。例:
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 矿物基绝热材料的研发考核试卷
- 环境设计毕设答辩
- 呼吸机转运病人操作规范与流程
- 喉软化病人麻醉管理
- 人体的营养和呼吸
- 睡眠呼吸暂停低通气综合症
- 新青年麻醉学科核心课程体系建设
- 手卫生依从性监测数据解读
- 自然语言及语音处理项目式教程 习题库 02-多选题
- 供应链金融创新应用2025:中小微企业融资新策略解析
- 第四篇-皮肤科疾病临床评分表
- 浅析韦伯《邀舞》
- 房地产中介创业计划书
- PICC堵管原因分析肿一10.11
- 《城市地理学》课件
- 化工与安全工程
- 脑梗塞介入取栓护理查房课件
- 2024届上海市普陀区上海师大附中化学高二下期末综合测试试题含解析
- 循环经济产业链拓展项目商业计划书
- GB/T 43295-2023教育与学习服务远程学习服务要求
- 校园网络文化建设课件
评论
0/150
提交评论