




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、2 本章首先讲述计算机中数据与文字的表示方法本章首先讲述计算机中数据与文字的表示方法然后讲述定点运算方法、定点运算器的组成,然后讲述定点运算方法、定点运算器的组成,最后讲述浮点运算方法、浮点运算器的组成。最后讲述浮点运算方法、浮点运算器的组成。 重点掌握和了解重点掌握和了解 二进数的表数范围二进数的表数范围定点数的乘除法运算定点数的乘除法运算规格化浮点数的四则运算规格化浮点数的四则运算阵列乘除法器阵列乘除法器本 章 主 要 内 容32.1数据与文字的表示方法计算机中使用的数据可分成两大类:计算机中使用的数据可分成两大类:1 1、符号数据、符号数据: :非数字符号的表非数字符号的表示(示(asc
2、iiascii、汉字、图形等)、汉字、图形等)2 2、数值数据数值数据: :数字数据的表示数字数据的表示方式(定点、浮点)方式(定点、浮点)42.1数据与文字的表示方法 计算机数字和字符的表示方法应有利于计算机数字和字符的表示方法应有利于数据的存储、加工数据的存储、加工( (处理处理) )、传送;、传送; 编码:用少量、简单的基本符号,选择编码:用少量、简单的基本符号,选择合适的规则表示尽量多的信息,同时利合适的规则表示尽量多的信息,同时利于信息处理(速度、方便)于信息处理(速度、方便) 计算机在数据、文字的表示方式时,应计算机在数据、文字的表示方式时,应该考虑一下几个因素该考虑一下几个因素:
3、 :表示的数据类型(符号、小数点、数值)表示的数据类型(符号、小数点、数值)数值的范围数值的范围数值精度数值精度存储、处理、传送的硬件代价存储、处理、传送的硬件代价52.1.1数据格式三、计算机常用的数据表示格式有两种:三、计算机常用的数据表示格式有两种: 定点表示:小数点位置固定定点表示:小数点位置固定 浮点表示:小数点位置不固定浮点表示:小数点位置不固定62.1.1数据格式定点表示法定点表示法所有数据的小数点位置固定不变所有数据的小数点位置固定不变理论上位置可以任意,但实际上将数据表示理论上位置可以任意,但实际上将数据表示有两种方法(小数点位置固定有两种方法(小数点位置固定- -定点表示法
4、定点表示法/ /定点格式):定点格式):纯小数纯小数纯整数纯整数定点数表示:定点数表示:带符号数带符号数不带符号数不带符号数71、定点纯小数 x x0 0 x x1 1 x x2 2 x x3 3 x xn-1 n-1 x xn n表示数的范围是表示数的范围是 0|0| |1 12 2n n( (最小数、最大数、最接近最小数、最大数、最接近0 0的正数、最接近的正数、最接近0 0的负数的负数)符号量值小数点固定于符号位之后,不需专门存放位置2.1.1数据格式数据格式82.1.1数据格式x=0.00.0 x=0.00.0 x=1.00.0 x=1.00.0 x=0 x=0正正0 0和负和负0 0
5、都是都是0 0 x=0.11.1x=0.11.1x=1x=12 2n n 最大最大x=0.00.01x=0.00.01x=2x=2n n 最接近最接近0 0的正数的正数x=1.00.01x=1.00.01x=x=2 2n n最接近最接近0 0的负数的负数x=1.11.1x=1.11.1x=x=(1 12 2n n ) 最小最小2、纯小数的表示范围、纯小数的表示范围92.1.1数据格式3 3、定点纯整数、定点纯整数 x x0 0 x x1 1 x x2 2 x x3 3 x xn-1 n-1 x xn n表示数的范围是表示数的范围是 0|0| |2 2n n1 1最小数、最大数、最接近最小数、最
6、大数、最接近0 0的正数、最接近的正数、最接近0 0的负数呢的负数呢符号量值小数点固定于最后一位之后,不需专门存放位置102.1.1数据格式定点表示法的特点定点表示法的特点定点数表示数的范围受字长限制,表示数的定点数表示数的范围受字长限制,表示数的范围有限范围有限; ;定点表示的精度有限定点表示的精度有限机器中,常用定点纯整数表示机器中,常用定点纯整数表示; ; 如果用定点表示,则如何表示实数如果用定点表示,则如何表示实数(包括小数和整数)呢?(包括小数和整数)呢? 引入浮点数引入浮点数112.1.1数据格式五、浮点表示:小数点位置随阶码不同而浮动五、浮点表示:小数点位置随阶码不同而浮动1 1
7、、格式、格式: :n=rn=re e.m.m2 2、机器中表示、机器中表示指数e基数r,取固定的值,比如10,2等尾数m阶符 阶码 数符 尾数 122.1 数据与文字的表示方法.221100.2211kmkmkmnknmnknmnk k( (基数基数) ):最大进位数。:最大进位数。 k k i i:位权。:位权。m(m(系数系数) ):每个数位上的值,取值范围:每个数位上的值,取值范围0k-10k-1【例】【例】343.43= 310241013100410-1310-2 进位计数制进位计数制按进位的方法进行计数,简称进位制。按进位的方法进行计数,简称进位制。数字累计到最大计数时,数码长度就
8、增数字累计到最大计数时,数码长度就增加一位或数码高位数值增加一位或数码高位数值增 1 1。 任意进制数的表示任意进制数的表示位权位权位权位权位权13可用可用数码数码进位进位基数基数0k-10k-10 9 0 9 a b ca b cd e fd e f0 1 2 30 1 2 34 5 6 7 4 5 6 7 0 10 10909逢逢k k进进1 1逢逢1616进进1 1逢逢8 8进进1 1逢逢2 2进进1 1逢逢1010进进1 1k k16168 82 21010k k进制进制十六进制十六进制八进制八进制二进制二进制十进制十进制2.1 数据与文字的表示方法 常用数制常用数制小数点右移小数点右
9、移( (数据左移数据左移)n )n 位位相当于乘以相当于乘以k k n n(增加(增加k k n n 倍)倍)小数点左移小数点左移( (数据右移数据右移)n )n 位位相当于除以相当于除以k k n n (为(为k k n n 分之一)分之一)14 数制小结:数制小结:十进制数与二进制数之间的转换需计算,不十进制数与二进制数之间的转换需计算,不直观。直观。十十二:二:整数部分除基取余,小数部分整数部分除基取余,小数部分乘基取整。乘基取整。二二十:按权展开。十:按权展开。八、十六进制数与二进制数之间转换方便。八、十六进制数与二进制数之间转换方便。 二二八、十六:八、十六:小数点向左向右小数点向左
10、向右3 3位或位或4 4位一组,合成一位。位一组,合成一位。八、十六八、十六二:每一位展开成二:每一位展开成3 3位或位或4 4位位二进制数不便于书写、阅读。二进制数不便于书写、阅读。十六进制数书写、阅读相对方便。十六进制数书写、阅读相对方便。2.1 数据与文字的表示方法15 十进制数的编码十进制数的编码bcdbcd码码 b binary-inary-c code ode ddecimalecimal 用四位二进制代码来表示一位十进制数。用四位二进制代码来表示一位十进制数。84218421码:标准码:标准bcdbcd码码(nbcd-(nbcd-sometimes sometimes calle
11、d natural binary-coded decimal) called natural binary-coded decimal) 从高到低各位权值从高到低各位权值8 8、4 4、2 2、1 1。 1111 1111b = 255d = (0010 0101 0101)bcd24212421码:各位权值码:各位权值2 2、4 4、2 2、1 1。前前5 5位编码与位编码与84218421码一致码一致后后5 5位编码与前位编码与前5 5位编码是对位编码是对9 9的自补码的自补码 对对9 9的自补码:某数的的自补码:某数的24212421码,自身码,自身按位取反,得到该数对按位取反,得到该数
12、对9 9补数的补数的24212421码。码。2.1 数据与文字的表示方法162.1 数据与文字的表示方法 常见的常见的bcdbcd码码十进十进制数制数84218421码码24212421码码余余3 3码码十进十进制数制数84218421码码24212421码码余余3 3码码0 000000000 00000000 001100115 501010101 10111011 100010001 100010001 00010001 010001006 601100110 11001100 100110012 200100010 00100010 010101017 701110111 110111
13、01 101010103 300110011 00110011 011001108 810001000 11101110 101110114 401000100 01000100 011101119 910011001 11111111 1100110017 数的机器码表示数的机器码表示无符号数:正整数。无符号数:正整数。带符号数:正数或负数。带符号数:正数或负数。真值:真值: 带带“+”+”、“”的数值本身。的数值本身。 例:例:+0.01+0.01、-1000-1000机器数(机器码):机器数(机器码):最高位为符号位,最高位为符号位,“0”0”表示表示“+”+”,“1”1”表示表示“”。
14、 原码原码 反码反码 补码补码2.1 数据与文字的表示方法182.1 数据与文字的表示方法 原码原码定点整数定点整数x x1 1= + 9 = + 1001b x= + 9 = + 1001b x1 1 原原=0000 1001=0000 1001. .x x2 2= 9 = 1001b x= 9 = 1001b x2 2 原原=1000 1001=1000 1001. .定点小数定点小数x x1 1= + 0.75 = + 0.11b x= + 0.75 = + 0.11b x1 1 原原=0=0. .11000001100000x x2 2= 0.75 = 0.11b x= 0.75 =
15、0.11b x2 2 原原=1=1. .110000011000000 0的表示形式不唯一的表示形式不唯一+ 0+ 0原原= 00000000 0= 00000000 0原原= 10000000= 10000000原码加减法运算复杂。原码加减法运算复杂。101101xxxxxx原nnnnxxxxxx202202原19 反码反码定点整数定点整数x x1 1= + 9 = + 1001b x= + 9 = + 1001b x1 1 反反=0000 1001=0000 1001. .x x2 2= 9 = 1001b x= 9 = 1001b x2 2 反反=1111 0110=1111 0110.
16、 .定点小数定点小数x x1 1= + 0.75 = + 0.11b x= + 0.75 = + 0.11b x1 1 反反=0=0. .11000001100000x x2 2= 0.75 = 0.11b x= 0.75 = 0.11b x2 2 反反=1=1. .001111100111110 0的表示形式不唯一的表示形式不唯一+ 0+ 0反反= 00000000 0= 00000000 0反反= 11111111= 111111112.1 数据与文字的表示方法10)22(01xxxxxn反nnnxxxxx20) 12(021反20 补码的引入补码的引入模和同余模和同余模:计量器的溢出容量
17、,用模:计量器的溢出容量,用mm表示。当运算结表示。当运算结果超出计量范围,溢出部分舍弃。果超出计量范围,溢出部分舍弃。字长为字长为n+1n+1位时位时 定点整数的模为定点整数的模为2 2n+1n+1 。 定点小数的模为定点小数的模为2 2 。同余:两整数同余:两整数a a、b b除以模除以模mm,所得的余数相同。,所得的余数相同。可记作可记作a=b a=b (mod m mod m ) 当模为当模为1212时时 4 4和和1616同余,可写作同余,可写作 4 = 16 4 = 16 (mod 12mod 12) -2-2和和1010同余,可写作同余,可写作 2 = 10 2 = 10 (mo
18、d 12)mod 12)利用补码可将减法运算转换成为加法运算利用补码可将减法运算转换成为加法运算2.1 数据与文字的表示方法n+110000n+110.0004-2=4+104-2=4+1021 补码补码定点整数定点整数x x1 1= + 9 = + 1001b x= + 9 = + 1001b x1 1 补补=0000 1001=0000 1001. .x x2 2= 9 = 1001b x= 9 = 1001b x2 2 补补=1111 0111=1111 0111. .定点小数定点小数x x1 1= + 0.75 = + 0.11b x= + 0.75 = + 0.11b x1 1 补补
19、=0=0. .11000001100000x x2 2= 0.75 = 0.11b x= 0.75 = 0.11b x2 2 补补=1=1. .010000001000000 0的表示形式唯一的表示形式唯一+ 0+ 0补补= 0= 0补补= 00000000= 000000002.1 数据与文字的表示方法10201xxxxx补nnnxxxxx202021补)(modmxmx补22x真值真值+/- 变成变成 0/1数值位不变数值位不变x原原xs=0时,数值位不变时,数值位不变xs=1时,数值位变反加时,数值位变反加1x补补xs=0时,数值位不变时,数值位不变xs=1时,数值位变反时,数值位变反x
20、反反2.1 数据与文字的表示方法 三种不同机器数以及真值之间的转换三种不同机器数以及真值之间的转换23 原码与补码的直接转换法原码与补码的直接转换法当当x x为正数时,为正数时,xx补补=x=x原原=x=x;当当x x为负数时,由原码求补码的简便算法:为负数时,由原码求补码的简便算法:符号位不变,最后面的符号位不变,最后面的1 1及其后各位保及其后各位保持不变,中间各位按位取反。持不变,中间各位按位取反。例:例: xx原原= = 1 1 . . 111001111001 10001000 x x补补= = 1 1 . . 000110 000110 1000 1000 2.1 数据与文字的表示
21、方法不变不变不变不变取反取反24 三种机器数的比较三种机器数的比较正数的原、反、补码相等,负数的各自不同正数的原、反、补码相等,负数的各自不同原码的符号位是人为定义的,不能参与运算原码的符号位是人为定义的,不能参与运算补码的符号位是通过模运算得到的,是数值补码的符号位是通过模运算得到的,是数值的一部分,可参与运算。的一部分,可参与运算。原、反码零的表示形式不唯一,补码零的表原、反码零的表示形式不唯一,补码零的表示形式唯一。示形式唯一。假设字长为假设字长为8 8位,则:位,则:+0+0原原=00000000 -0=00000000 -0原原=10000000=10000000+0+0反反=000
22、00000 -0=00000000 -0反反=11111111=11111111+0+0补补=-0=-0补补=00000000=000000002.1 数据与文字的表示方法25机器码的表数范围不同机器码的表数范围不同原、反码的表数范围相对于零点对称原、反码的表数范围相对于零点对称补码的表数范围,负方向比正方向宽补码的表数范围,负方向比正方向宽 以字长以字长4 4位位( (含符号位含符号位) )的纯整数为例的纯整数为例原码、反码表数范围原码、反码表数范围 补码表数范围(多表示一个负数)补码表数范围(多表示一个负数)0 0+1+1+2+2+3+3+4+4+5+5+6+6+7+7-1-1-2-2-3
23、-3-4-4-5-5-6-6-7-7+0+0-0-07个正数个正数7个负数个负数0 0+1+1+2+2+3+3+4+4+5+5+6+6+7+7-1-1-2-2-3-3-4-4-5-5-6-6-7-7-8-87个正数个正数8个负数个负数-8-82.1 数据与文字的表示方法26真真值值x x真真值值x x十十进进制制 二二进进制制 x x 原原 x x 补补 x x 反反十十进进制制 二二进进制制 x x 原原 x x 补补 x x 反反+ +0 0+ +1 1+ +2 2+ +3 3+ +4 4+ +5 5+ +6 6+ +7 7+ +8 8+ +0 00 00 0+ +0 00 01 1+ +
24、0 01 10 0+ +0 01 11 1+ +1 10 00 0+ +1 10 01 1+ +1 11 10 0+ +1 11 11 1- -0 00 00 00 00 00 00 01 10 00 01 10 00 00 01 11 10 01 10 00 00 01 10 01 10 01 11 10 00 01 11 11 1- - -0 0- -1 1- -2 2- -3 3- -4 4- -5 5- -6 6- -7 7- -8 8- -0 00 00 0- -0 00 01 1- -0 01 10 0- -0 01 11 1- -1 10 00 0- -1 10 01 1- -1
25、 11 10 0- -1 11 11 1- -1 10 00 00 01 10 00 00 01 10 00 01 11 10 01 10 01 10 01 11 11 11 10 00 01 11 10 01 11 11 11 10 01 11 11 11 1- -0 00 00 00 01 11 11 11 11 11 11 10 01 11 10 01 11 11 10 00 01 10 01 11 11 10 01 10 01 10 00 01 11 10 00 00 01 11 11 11 11 11 11 10 01 11 10 01 11 11 10 00 01 10 01 11
26、 11 10 01 10 01 10 00 01 11 10 00 00 0- -1000-81000-02.1 数据与文字的表示方法 真值与三种机器数间的对照真值与三种机器数间的对照27 定点数的表示范围定点数的表示范围原码定点数原码定点数 ( (字长字长n+1n+1位位) )纯小数:纯小数:(1(12 2-n-n )(1-2 )(1-2-n -n ) ) 例例: :字长为字长为8 8位位, ,则则最小定点小数最小定点小数: -127/128 : -127/128 最大定点小数最大定点小数: 127/128: 127/128纯整数:纯整数:( 2( 2n n 1)(21)(2n n -1)
27、-1) 例例: :字长为字长为8 8位位, ,则则最小定点整数最小定点整数: -127 : -127 最大定点整数最大定点整数: 127: 1271.1.111111111111110.0.111111111111111 111111111111111. .0 011111111111111. .2.1 数据与文字的表示方法28 定点数的表示范围定点数的表示范围补码定点数补码定点数 ( (字长字长n+1n+1位位) )纯小数:纯小数:11112 2-n-n 例例: :字长为字长为8 8位,则位,则最小定点小数最小定点小数: : 1 1 最大定点小数最大定点小数: 127/128: 127/12
28、8纯整数:纯整数:2 2n n 2 2n n1 1 例例: :字长为字长为8 8位,则位,则最小定点整数最小定点整数: : 128128最大定点整数最大定点整数: 127: 1271.1.000000000000000.0.111111111111111 100000000000000. .0 011111111111111. .2.1 数据与文字的表示方法29尾数部分m阶码部分eesemsmk位n位1位1位尾数部分m阶码部分eesemsmk位n位1位1位阶码,常为纯整数尾数,常为纯小数 浮点数浮点数小数点的位置不固定,根据需要而浮动。小数点的位置不固定,根据需要而浮动。任何一个数任何一个数n
29、 n的浮点表示形式为的浮点表示形式为 n=mn=m2 2e e2.1 数据与文字的表示方法0+1+ +0+1-1+ +30122)21 (knx最大正数knx222最小正数12)(21kx最小负数绝对值最大负数0.1021.0 . 0第n位k个0k k个个1 11.1 . 020.0 . 1n n个个0 01.0121.1 . 0n个1k个1 浮点数的表示范围浮点数的表示范围若阶码数值部分为若阶码数值部分为k k位,尾数数值部分为位,尾数数值部分为n n位,均用补码表示,则位,均用补码表示,则2.1 数据与文字的表示方法31 规格化的浮点数规格化的浮点数为了充分利用尾数的有效数位,规定尾数值为
30、了充分利用尾数的有效数位,规定尾数值应在应在0.510.51之间。之间。补码表示时,尾数的最高位应与符号位不同补码表示时,尾数的最高位应与符号位不同当当 1/2 = m 1 1/2 = m 1 时,应有时,应有0.1 0.1 的形式的形式当当 1 = m - 1/2 1 = m - 1/2 时,应有时,应有1.0 1.0 的形式的形式为什么是,而不是=?为什么是=?2.1 数据与文字的表示方法补码的表示范围比原码宽,可以表示-1, -1补=1.0000000,是规格化的浮点数-1/2原=1.1000000-1/2补=1.1000000不是规格化的浮点数32 浮点数的典型值:阶码和尾数均用浮点数
31、的典型值:阶码和尾数均用补码补码表示表示浮点数代码浮点数代码真值真值阶码阶码尾数尾数最大正数最大正数最小正数最小正数规格化的最小正数规格化的最小正数绝对值最大负数绝对值最大负数绝对值最小负数绝对值最小负数规格化的绝对值最规格化的绝对值最小负数小负数01011 110100 010100 0 01 011 110100 010100 00.110.1111110.000.0001 01 0.100.1000001.001.0000001.111.1111111.011.011111kkkkkknnnn21212212122)22(222122222)21 (2.1 数据与文字的表示方法33x1移
32、移=27+1101101 =10000000 + 1101101 =11101101x1补补=01101101x2移移=27+(-1101101) = 10000000 - 1101101 = 00010011 x2补补= 10010011 移码:在真值移码:在真值x x的基础上加一个常数,相当于的基础上加一个常数,相当于x x在数轴上向正方向偏移了若干单位。在数轴上向正方向偏移了若干单位。xx移码移码= =偏置值偏置值+x+x标准偏置值:字长标准偏置值:字长n+1n+1位时,偏置值为位时,偏置值为2 2n n。 例:字长例:字长8 8位,若偏置值为位,若偏置值为2 27 7,x1=+1101
33、101,x2= -1101101,求移码。,求移码。2.1 数据与文字的表示方法34真值真值x x( (十进制十进制) )真值真值x x(二进制)(二进制)xx补补xx移移-128-127 -101127-10000000-1111111 -00000010000000000000111111111000000010000001 111111110000000000000001011111110000000000000001 011111111000000010000001111111112.1 数据与文字的表示方法 移码、补码和真值之间的关系移码、补码和真值之间的关系设字长设字长8 8位,偏
34、置值为标准偏置值位,偏置值为标准偏置值2 27 735 移码的特点(字长移码的特点(字长8 8位,偏置值为位,偏置值为2 27 7)移码最高位为移码最高位为0 0表示负数,最高位为表示负数,最高位为1 1表示表示正数。正数。移码直观反映真值的大小。移码直观反映真值的大小。全全0 0时,所对应的真值最小;时,所对应的真值最小;全全1 1时,所对应的真值最大;时,所对应的真值最大;有利于两个浮点数进行阶码的大小比较有利于两个浮点数进行阶码的大小比较0 0的移码表示形式唯一的移码表示形式唯一+0+0移移=-0=-0移移=10000000=10000000移码将真值映射到正数域,可视为无符号数移码将真
35、值映射到正数域,可视为无符号数同一真值的补码和移码只相差符号位。同一真值的补码和移码只相差符号位。2.1 数据与文字的表示方法36 ieee754ieee754标准的浮点数:应用于标准的浮点数:应用于80x8680x86微机微机18233232位位短浮点数短浮点数数符阶码 尾数64位长浮点数11152数符阶码 尾数80位临时浮点数数符阶码尾数115643232位短浮点数位短浮点数1.1.尾数隐含了最高位尾数隐含了最高位1(1(位权位权2 20 0) ),实际为,实际为2424位,尾数采用原位,尾数采用原码表示。码表示。2.2.阶码采用偏置值为阶码采用偏置值为127127的移码表示。的移码表示。
36、2.1 数据与文字的表示方法37(2)(2)计算出阶码真值计算出阶码真值e e = =移码移码- -偏置值偏置值127127 e e =1000 0010-111 1111=011=(3)=1000 0010-111 1111=011=(3)1010(3)(3)写出尾数写出尾数( (包括隐含的最高位包括隐含的最高位1) 1) 1.1.m=m=1.0110111.011011(4)(4)写出此数的浮点记数形式写出此数的浮点记数形式x x =(-1)=(-1)s s 1.1.m m 2 2e e =+1.011011 =+1.011011* *2 23 3=1011.011=1011.011(5)
37、(5)转换成十进制数,并加上符号位转换成十进制数,并加上符号位 11.37511.375例例1: 1: 若短浮点数若短浮点数x x的的754754标准存储格式为标准存储格式为(41360000)(41360000)1616,求其浮点数的十进制数值。求其浮点数的十进制数值。 (1)(1)将十六进制数转换成二进制数,写成短浮点数格式将十六进制数转换成二进制数,写成短浮点数格式2.1 数据与文字的表示方法011 0110 0000 0000 0000 0000011 0110 0000 0000 0000 0000100 0001 100 0001 0 00 0s阶码(8位)尾数(23位)380 0
38、100 0001 1100 0001 1010 0100 1100 0000 0000 0000010 0100 1100 0000 0000 0000正数阶码的移码(8位)隐含了最高数位1的尾数的原码(23位)例例2 2:将(:将(20.59375)20.59375)1010转换成短浮点数格式转换成短浮点数格式 (1)(1)把十进制数转换为二进制数把十进制数转换为二进制数 (20.59375)(20.59375)1010=(10100.10011)=(10100.10011)2 2 (2) (2)写成浮点记数形式,尾数保留最高位写成浮点记数形式,尾数保留最高位1 1,不计入。,不计入。 10
39、100.10011=1.0100 1001110100.10011=1.0100 10011* *2 24 4 (3)(3)计算出阶码的移码计算出阶码的移码 1111111+100=1000 00111111111+100=1000 0011 (4)(4)以短浮点数格式存储该数以短浮点数格式存储该数 41a4c000h41a4c000h2.1 数据与文字的表示方法39 非数值数据表示非数值数据表示通常是指字符、字符串、图形符号和汉字等各种数通常是指字符、字符串、图形符号和汉字等各种数据,它们通常不用来表示数值的大小,一般情况下据,它们通常不用来表示数值的大小,一般情况下不对它们进行算术运算。不
40、对它们进行算术运算。 字符和字符串表示字符和字符串表示asc (asc (美国标准信息交换码美国标准信息交换码) )7 7位基本位基本ascasc码(国际通用)码(国际通用) 可表示可表示128128种字符种字符8 8位扩充位扩充ascasc码(可重新定义)码(可重新定义) 可表示可表示256256种字符种字符ascasc码可分为:码可分为: 显示字符显示字符 控制字符控制字符“0 ”为48 “a”为65return 、backspace键的编码分别为13、82.1 数据与文字的表示方法40高高 三三 位位低低 四四 位位0 0 00 0 10 1 00 111 0 01 0 111 0111
41、0 0 0 0s p0pp0 0 0 1!1aqaq0 0 1 0“2brbr0 0 11#3cscs0 1 0 0$4dtdt0 1 0 1%5eueu0 11 0&6fvfv0 1117gwgw1 0 0 0(8hxhx1 0 0 1)9iyiy1 0 1 0*:jzjz1 0 11+;kk11 0 0,nn1111/?o_od e l2.1 数据与文字的表示方法41 汉字编码汉字编码汉字是一种象形文字,无法直接用标准西文汉字是一种象形文字,无法直接用标准西文键盘输入,必须经过转换间接输入;键盘输入,必须经过转换间接输入;汉字的字数也较多,不能用单字节的汉字的字数也较多,不能用单字节的as
42、casc(256256个字符)来表示个字符)来表示目前采用两个字节(可以表示目前采用两个字节(可以表示64k64k字符)的字符)的汉字编码方案。汉字编码方案。汉字的应用范围较广(东南亚国家),但编汉字的应用范围较广(东南亚国家),但编码字符集不相同,中国大陆常用码字符集不相同,中国大陆常用gb / gb / gbkgbk码,台湾码,台湾big5big5。 2.1 数据与文字的表示方法42外部(输入)码机内码字形(输出)码键盘管理程序汉字处理程序交换码(国标码) 汉字处理过程汉字处理过程2.1 数据与文字的表示方法43 外部码外部码也叫汉字输入编码,主要是从键盘也叫汉字输入编码,主要是从键盘(
43、(语音、手写、语音、手写、光电光电) )输入计算机中的代表汉字的编码。输入计算机中的代表汉字的编码。汉字输入方案有数百种,基本上是直接利用西文标汉字输入方案有数百种,基本上是直接利用西文标准键盘进行汉字输入,每一种汉字输入法都各自提准键盘进行汉字输入,每一种汉字输入法都各自提供相应的键盘码与汉字机内码供相应的键盘码与汉字机内码( (码表码表) )。编码方案可分四类:编码方案可分四类:数码(如电报码,区位码,国标码等)数码(如电报码,区位码,国标码等)音码(如全拼码,简拼码,双拼码等)音码(如全拼码,简拼码,双拼码等)形码(如五笔字型,大众码,仓吉码等)形码(如五笔字型,大众码,仓吉码等)音形码
44、(如自然码,首尾码等)音形码(如自然码,首尾码等)2.1 数据与文字的表示方法44 交换码交换码 用于计算机与其他系统或设备之间进行汉字代码信用于计算机与其他系统或设备之间进行汉字代码信息交换的标准汉字代码息交换的标准汉字代码目前最常使用的是国标码目前最常使用的是国标码gb18030-2005gb18030-2005收录了收录了7024470244个汉字个汉字标准采用标准采用单单字节字节、双字节和四字节三种方式、双字节和四字节三种方式对对字符编码字符编码。单单字节字节部分采用部分采用gb/t 11383gb/t 11383的编码结构与规则,使用的编码结构与规则,使用0 00000至至0 07f
45、7f码位码位( (对应于对应于asciiascii码的相应码位码的相应码位) )。双。双字字节节部分,首字节码位从部分,首字节码位从0 08181至至0 0fefe,尾字节码位分,尾字节码位分别是别是0 04040至至0 07e7e和和0 08080至至0 0fefe。四。四字节字节部分采部分采用用gb/t 11383gb/t 11383未采用的未采用的0 03030到到0 03939作为对双字节作为对双字节编码扩充的后缀,这样扩充的四字节编码,其范围为编码扩充的后缀,这样扩充的四字节编码,其范围为0 08130813081308130到到0 0fe39fe39fe39fe39。其中第一、三个
46、字节。其中第一、三个字节编码码位均为编码码位均为0 08181至至0 0fefe,第二、四个字节编码码,第二、四个字节编码码位均为位均为0 03030至至0 03939。 2.1 数据与文字的表示方法45gb2312是汉字字符集和编码每个汉字每个汉字( (图形符号图形符号) )用两个字节表示,每个用两个字节表示,每个字节只用低字节只用低7 7位,即最高位为位,即最高位为0 0的二进制码的二进制码() ()汉字分为两级:汉字分为两级:一级为使用频度高的常用汉字一级为使用频度高的常用汉字二级为次常用的汉字二级为次常用的汉字46 的代号,中文全称为的代号,中文全称为 “ “信息交换用汉字编码信息交换
47、用汉字编码字符集字符集” ” ,由中华人民共和国国家标准总局,由中华人民共和国国家标准总局发布,一九八一年五月一日实施。发布,一九八一年五月一日实施。gbgb是是 “ “国国标标” 二字的汉语拼音缩写。二字的汉语拼音缩写。 gb2312 gb2312 字符集字符集 (character set) (character set) 只收录简化只收录简化字汉字,以及一般常用字母和符号,主要通行字汉字,以及一般常用字母和符号,主要通行于中国大陆地区和新加坡等地。于中国大陆地区和新加坡等地。gb2312 gb2312 共共收录有收录有 7445 7445 个字符,其中简化汉字个字符,其中简化汉字 676
48、3 6763 个,字母和符号个,字母和符号 682 682 个。个。47 gb2312 gb2312 将所收录的字符分为将所收录的字符分为 94 94 个区,编个区,编号为号为 01 01 区至区至 94 94 区;每个区收录区;每个区收录 94 94 个字符,个字符,编号为编号为 01 01 位至位至 94 94 位。位。gb2312 gb2312 的每一个字的每一个字符都由与其唯一对应的区号和位号所确定。例符都由与其唯一对应的区号和位号所确定。例如:汉字如:汉字“啊啊”,编号为,编号为 16 16 区区 01 01 位。位。 gb2312gb2312编码的范围为:高字节范围是编码的范围为:
49、高字节范围是0xa1-0xa1-0xff0xff,低字节范围是,低字节范围是0xa1-0xff0xa1-0xff。48 内部码内部码 也称汉字内码或机内码,是计算机对汉字进行存储、也称汉字内码或机内码,是计算机对汉字进行存储、运算、传码的实际代码。运算、传码的实际代码。 一般用两个字节表示一个汉字内码,每个字节最高一般用两个字节表示一个汉字内码,每个字节最高位为位为 1 1。 还有少数三字节、四字节等内部码。还有少数三字节、四字节等内部码。最多能表示最多能表示128128128 =16384128 =16384个汉字和图形符号个汉字和图形符号 机内码目前虽未完全统一,但已趋于标准化。机内码目前
50、虽未完全统一,但已趋于标准化。内部码与国标码的对应关系:内码内部码与国标码的对应关系:内码= =国标码国标码+8080 +8080 国标码每个字节最高位为国标码每个字节最高位为1 1 内部码。内部码。 例如:国标码例如:国标码 3b7a 00111011 01111010 机内码机内码 bbfa 10111011 111110102.1 数据与文字的表示方法49 字形码字形码也称为字模码,用点阵表示也称为字模码,用点阵表示的汉字字形代码,是汉字的的汉字字形代码,是汉字的输出形式。输出形式。简易型简易型 16161616提高型提高型 24242424、 32323232等等16161616点阵,
51、每个汉字占点阵,每个汉字占3232字节。字节。每行每行1616点,每点点,每点0/10/1,1616位,位,2 2个字节个字节共共1616行行16162=322=32字节字节2.1 数据与文字的表示方法502.1 数据与文字的表示方法 汉字代码交换流程汉字代码交换流程51 奇偶校验码奇偶校验码常用于存储器读、写检查或常用于存储器读、写检查或asciiascii字符传送字符传送过程中的检查。过程中的检查。实现方法:由有效信息位和实现方法:由有效信息位和1 1位奇偶校验位位奇偶校验位组成。组成。奇校验奇校验 保证整个校验码中有奇数个保证整个校验码中有奇数个1 1偶校验偶校验 保证整个校验码中有偶数
52、个保证整个校验码中有偶数个1 12.1 数据与文字的表示方法52有效信息有效信息偶校验码偶校验码奇校验码奇校验码101010101010101010101010101010100 010101010101010101 1010101000101010001010100010101001 101010100010101000 0000000000000000000000000000000000 000000000000000001 1011111110111111101111111011111111 101111111011111110 01111111111111111111111111111
53、11110 011111111111111111 12.1 数据与文字的表示方法简单奇偶校验简单奇偶校验仅实现横向的奇、偶校验。仅实现横向的奇、偶校验。可检测出一位(或奇数位)错误,但不可检测出一位(或奇数位)错误,但不能确定出错位置。能确定出错位置。例例7 7:假定信息位:假定信息位8 8位,奇、偶校验位在末尾。位,奇、偶校验位在末尾。53交叉奇偶校验交叉奇偶校验横向:每一个字节有一个奇、偶校验位横向:每一个字节有一个奇、偶校验位纵向:全部字节同一位也设置奇、偶校验位纵向:全部字节同一位也设置奇、偶校验位可以发现两位同时出错的情况。可以发现两位同时出错的情况。例:纵、横均约定为偶校验例:纵、
54、横均约定为偶校验2.1 数据与文字的表示方法有效信息有效信息横向校验横向校验第一字节第一字节 10101010 10101010 0 0第二字节第二字节 01010100 010101001 1第三字节第三字节 00000000 000000000 0第四字节第四字节 01111111 011111111 1第五字节第五字节 11111111 11111111 0 0纵向校验纵向校验 01111110 01111110 1154 补码加减法运算公式补码加减法运算公式 ( (讨论纯小数,纯整数类似讨论纯小数,纯整数类似) )x+yx+y补补=x=x补补+y+y补补 (mod 2)mod 2)x-
55、yx-y补补=x=x补补+-y+-y补补 (mod 2)mod 2)可证,可证,-y-y补补= -y= -y补补 (mod 2)mod 2)所以,所以,x-yx-y补补=x=x补补-y-y补补 (mod 2)mod 2)-y-y补补=y=y补补+2+2-n-n ( y( y补补连同符号位变反,末位加连同符号位变反,末位加1)1)简便方法:简便方法:yy补补最右边的最右边的1 1及其后各位保持不变,及其后各位保持不变,连同符号位在内一起变反。连同符号位在内一起变反。例例1010:已知:已知x x1 1=-0.1110=-0.1110,x x2 2=+0.1101,=+0.1101, 求:求:xx
56、1 1 补补,-x-x1 1 补补,xx2 2 补补,-x-x2 2 补补解:解: xx1 1 原原=1.1110 x=1.1110 x2 2 原原=0.1101=0.1101 x x1 1 补补=1.0010 x=1.0010 x2 2 补补=0.1101=0.1101 -x -x1 1 补补=0.1110 -x=0.1110 -x2 2 补补=1.0011 =1.0011 2.2 定点加减运算55例例9 9:x=+0.1011,y=-0.0101x=+0.1011,y=-0.0101,利用补码加法,利用补码加法计算计算x+y=?x+y=?解:解: xx补补=0.1011=0.1011,yy
57、补补=1.1011 =1.1011 x x补补=0.1011=0.1011 + y + y补补=1.1011=1.1011 x+y x+y补补=10.0110 x+y=+0.0110=10.0110 x+y=+0.01102.2 定点加减运算p p3232自动舍弃+0.6875+0.6875-0.3125-0.3125+0.375+0.37556例例1111:x=+0.1101,y=+0.0110,x=+0.1101,y=+0.0110,利用补码减法利用补码减法计算计算x-y=?x-y=?解:解:xx补补=0.1101=0.1101,yy补补=0.0110, =0.0110, -y -y补补=
58、1.1010=1.1010 x x补补 =0.1101=0.1101 + -y+ -y补补 =1.1010=1.1010 x-y x-y补补=10.0111 x-y= 0.0111=10.0111 x-y= 0.0111符号位参与运算,超出模的进位自动舍弃。符号位参与运算,超出模的进位自动舍弃。自动舍弃后,结果正确吗?自动舍弃后,结果正确吗?如何判断?如何判断?2.2 定点加减运算p p3333自动舍弃+0.8125+0.8125+0.375+0.375+0.4375+0.437557 补码的溢出补码的溢出在选定了运算字长和数的表示方法之后,计在选定了运算字长和数的表示方法之后,计算装置所能表
59、示的数的范围是一定的,超过算装置所能表示的数的范围是一定的,超过此范围就称为溢出。此范围就称为溢出。例:例: 运算字长运算字长 数的表示方法数的表示方法 定点整数的范围定点整数的范围 n= 8 n= 8 原码原码 -127-127+127+127 n= 8 n= 8 反码反码 -127-127+127 +127 n= 8 n= 8 补码补码 -128-128+127+1272.2 定点加减运算58例例1212:x=0.1011,y=0.1001,x+yx=0.1011,y=0.1001,x+y补补=?=? x x补补 0 0.1011.1011 +y+y补补 0 0.1001.1001 x+y
60、 x+y补补 1 1.0100 .0100 两正数相加两正数相加, ,结果为负结果为负, ,上溢。上溢。 溢出检测方法溢出检测方法方法一:常识判别法方法一:常识判别法补码加法运算时,仅在两数同号时才可补码加法运算时,仅在两数同号时才可能产生溢出。能产生溢出。 over= xsyszs+xsyszs=1over= xsyszs+xsyszs=1两正数相加,结果为负,产生上溢;两负数相加,结果为正,产生下溢。2.2 定点加减运算59方法二:双高位判别法(单符号位补码)方法二:双高位判别法(单符号位补码)考察两补码相加时考察两补码相加时符号位产生的进位符号位产生的进位c cf f和和最高数值位产生的
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 医院护理自查整改工作方案
- 网络安全培训教程及员工测评题库
- 沿河安全员证考试题库及答案解析
- 生产线设备维护保养管理办法
- 电梯安全模拟考试题库及答案解析
- 安全技能培训题库及答案解析
- 地下车库采暖通风系统设计方案
- 建筑设计院项目管理实施细则
- 财务共享中心岗位职责和流程
- 网络安全普法员考试题库及答案解析
- 投诉信课件教学课件
- 2025年霸王茶姬文化战略复盘
- 健康管理中心客户档案管理规范
- 营养配餐员基础知识考核试卷及答案
- 格拉斯哥评分课件
- 工会小组长课件
- 2025年中学校规校纪及教育惩戒实施细则
- CAAC无人机理论考试题库(2025修订版)(含答案)
- 2025 - 2026学年小学数学人教版二年级上册第四单元(厘米和米)测试卷及答案
- 2024年重庆航天职业技术学院公开招聘辅导员笔试题含答案
- 2025杭州市二手房买卖合同模板
评论
0/150
提交评论