版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 第二章计算机中的信息表示主讲: 乔维德 副教授1 第二章计算机中的信息表示主讲: 乔维德 副教授学习目标掌握常用的进位计数制及其相互转换方法掌握原码、补码的表示方法及其相互转换,了解反码表示方法掌握定点数、浮点数表示方法,能根据给定格式写出典型值学会查用ASCII表,了解汉字编码的基础知识掌握常用寻址方式,I/O编址方法;理解指令格式的基本概念,了解常见的指令功能分类2学习目标掌握常用的进位计数制及其相互转换方法2 第二章计算机中的信息表示2.1数值型数据的表示方法人类生活中的数字2.2字符表示各国的文字2.3指令信息的表示计算机的“语言”3 第二章计算机中的信息表示2.1数值型数据的表示方
2、法人类生2.1数值型数据的表示方法FAQ:Q:逢几进位?A:基数Q:如何使正负号也数字化?A:只有用有电或没电来表示,即0、1Q:如何表示带小数点的数?A:浮点数42.1数值型数据的表示方法FAQ:42.1数值型数据的表示方法2.1.1进位计数制2.1.2带符号数的表示2.1.3数的定点表示与浮点表示52.1数值型数据的表示方法2.1.1进位计数制5进位计数制 进位计数制是一种计数方法,习惯上常用的是十进制计数法。但在计算机中常用的计数制除了十进制外,还有二进制、十六进制和八进制。 在汇编语言中,每一种进制都有自己的表示方法。 对于以上三种进制数可以通过下表中的对应项互相转换:二进制 0000
3、 0001 0010 0011 0100 0101 0110 0111十进制 0 1 2 3 4 5 6 7十六进制 0 1 2 3 4 5 6 7二进制 1000 1001 1010 1011 1100 1101 1110 1111十进制 8 9 10 11 12 13 14 15十六进制 8 9 A B C D E F6进位计数制 进位计数制是一种计数方法,习惯上常2.1.1进位计数制一、计算机中常用的进位制1.二进制2.八进制3.十六进制4.二十进制二、各种进位制之间的相互转换1.十进制整数转换为二进制整数2.十进制小数转换为二进制小数3.二进制整数转换为十进制整数4.二进制小数转换为十
4、进制小数72.1.1进位计数制一、计算机中常用的进位制71、十进制表示形式:2、二进制表示形式:(D:09)(B:0、1)81、十进制表示形式:2、二进制表示形式:(D:09)(B:3、八进制的表示形式:(Q:07)4、十六进制的表示形式:(H:09,AF)93、八进制的表示形式:(Q:07)4、十六进制的表示形式:2.1.1进位计数制1.什么叫基数?2.什么叫权?计数的方法经过人类历史的漫长演化,到现在已趋于统一,即全世界几乎都用阿拉伯数字符的10进制计数方法。所以,只要不用本国语言,而用数学语言的话,任何一个国家的学生解一个一元二次方程的写法差不多一至。102.1.1进位计数制1.什么叫基
5、数?102.1.1进位计数制也就是说:3 41 5 1 7 0 3 4 5 1 0这样一模一样的算法,一模一样的写法中112.1.1进位计数制也就是说:112.1.1进位计数制和美国是一样的。而且全世界也一样。阿拉伯字符表示的10进制肯定有其优点,否则也不会统一全世界的计数制了。我们中国的字符表示用的是笔划多的可怕的象形文字:壹、贰、叁、肆、伍、陆、柒、捌、玖、拾,从表数字符的繁杂度和没有用位置表示大小的弊病方面,在纸上运算出一个乘法结果都是不可能的。122.1.1进位计数制和美国是一样的。而且全世界也一样。122.1.1进位计数制叁拾肆壹 拾伍所以中国古代的数学家并不是用草稿纸来演算数学的,
6、用的是小竹棍,叫算筹。而且掌握算筹演算法也并不是很容易。132.1.1进位计数制叁拾肆132.1.1进位计数制阿拉伯计数法的优点:1.没有一个表示10的字符,而世界上的其他计数法都多余了一个表示10的字符。而如果有表示10的字符,则就决定无法用位置来表示大小。2.比别的表数法多了一个至关重要的0,有了0就可以用位置表示大小。我们今天用的其他进制都是阿拉伯表数法的推广,都有一个0142.1.1进位计数制阿拉伯计数法的优点:142.1.1进位计数制我们现在所使用的各种进位制都是在阿拉伯十进制的原理下衍生出来的,都有一个表示“零”的符号,都采用位置表示大小。所以,我们在掌握了进位制的原理后,可以将二
7、、八、十六进位统一叙述一下。链接表格152.1.1进位计数制我们现在所使用的各种进位制都是在阿拉十进制二进制八进制十六进制二十六进制000000000001000111000120010220010300113300114010044010050101550101601106601107011177011181000108100091001119100110101012A0001000011101113B0001000112110014C0001001013110115D0001001114111016E0001010015111117F0001010116十进制二进制八进制十六进制二十六进制
8、00000000000二、各种进位制之间的相互转换第一组:二、八、十六进制转换简单一一对应第二组:二进制与十进制的相互转换(整数与小数的转换方法不同)17二、各种进位制之间的相互转换第一组:二、八、十六进制转换简单1、非十进制数转换成十进制数:二进制数转换:八进制数转换:十六进制转换:.把各个非十进制数按权展开求和即可。按权相加法181、非十进制数转换成十进制数:八进制数转换:十六进制转换:.2、十进制数转换成非十进制数:转换成二进制:除基取余法 2 72132262321011011余数二进制整数高位 二进制整数低位0.7521.5021.0011整数例子:27.75二进制小数首位二进制小数
9、末位结果:192、十进制数转换成非十进制数: 2 7213226232转换成八进制:例子:1725.687517252152630888857230.687585.500084.000054结果:20转换成八进制:例子:1725.687517252152630转换成十六进制:例子:12345.6718751234577148316161616093030.6718751610.7500001612.000000AC结果:除基取余法21转换成十六进制:例子:12345.67187512345773非十进制数之间的转换:八进制数转换成二进制数:7 4 1 3 111 100 001 011二进制转
10、换成八进制数:110 010 001 101 6 2 1 5直接对应法223非十进制数之间的转换:八进制数转换成二进制数:7 十六进制数转换成二进制数:A 6 1 C 1010 0110 0001 1100 二进制数转换成十六进制数:1101 0101 1110 1001 D 5 E 9返回直接对应法23十六进制数转换成二进制数:A 6 二、各种进位制之间的相互转换第一组:二、八、十六进制转换简单一一对应为什么二、八、十六进制之间的转换无需计算可以用对应代替法互相转换呢?其实八、十六进制的诞生对于我们的日常生活来说并没有起到多大作用,如果不是毫无作用的话。其实八、十六进制的产生其实就是为了使二
11、进制数字的记录、计算、输入输出得以减少长度从而不易出错。但为什么只有八、十六进制可以无需计算可以直接转换呢?24二、各种进位制之间的相互转换第一组:二、八、十六进制转换简二、各种进位制之间的相互转换第一组:二、八、十六进制转换简单一一对应按照进位制的原理,八进制需要八个不同的符号来表示从小到大的八个基数,因为习惯的原因,我们借用了阿拉伯十进制计数中的从0开始的0、1、2、3、4、5、6、7来表述,而八进制的7以后的数,即7(8)+1(8)=10(8)。此时我们再回过头看一看二进制,三位二进制数可以表示八个连续不同的数值25二、各种进位制之间的相互转换第一组:二、八、十六进制转换简二、各种进位制
12、之间的相互转换第一组:二、八、十六进制转换简单一一对应大小:000、001、010、011、100、101、110、111,到了111已经是三位二进制所能表示的最大的数,此时再加上1的话,就要开始向第四位进位了,即变成了1,000,我们再回头看一下: 7(8)+1(8)=10(8),都是在其最大表示值的地方开始向高位进位。依此类推,十六进制的数符0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F与四位二进制数0000、0001、0010、0011、0100 26二、各种进位制之间的相互转换第一组:二、八、十六进制转换简二、各种进位制之间的相互转换第一组:二、八、十六进制转换简单一一
13、对应0101、0110、0111、1000、1001、1010、1011、1100、1101、1110、1111所对应,而且在十六进制的F后的十六进制数是10(16)即F(16)+1=10(16),而二进制的四位最高数1111的下一位即1111(2)+1(2)=1,0000(2),而十进制不同,十进制的最高计数符号9,9以后的数就要进位了,即9+1=10,而四位二进制数才能表示9,即1001,而1001的下一位1001(2)+1=1010(2)27二、各种进位制之间的相互转换第一组:二、八、十六进制转换简二、各种进位制之间的相互转换第一组:二、八、十六进制转换简单一一对应此时大家发现,二进制1
14、001并没有下一位即第五位进位,即没有变成0001,1001,所以大家不能用四位二进制直接代替十进制,但八进制与十六进制却可以直接代替。举例:28二、各种进位制之间的相互转换第一组:二、八、十六进制转换简二、各种进位制之间的相互转换第二组:二进制与十进制的相互转换(整数与小数的转换方法不同)就是因为二进制与八、十六进制之间的关系很紧密,所以也就不存在相互转换的问题。我们的重点在于二进制与十进制之间的转换。29二、各种进位制之间的相互转换第二组:二进制与十进制的相互转二、各种进位制之间的相互转换1.十进制整数转换为二进制整数(1)减权定位法这种方法很简单,我们先看一看二进制各位的权:S(10)=
15、Xn2n+Xn-12n-1+X323+X222+X121+X020而减权定位法的核心是立刻判断出离所给的十进制数最近而又比自己小的权值是多少30二、各种进位制之间的相互转换1.十进制整数转换为二进制整数3二、各种进位制之间的相互转换(2)除基取余法除基取余法比较抽象,我们先看个例子:一个十进制的整数116,每次除以2,它的余数我们可以断定,不是一就是零;就如书上例子:31二、各种进位制之间的相互转换31二、各种进位制之间的相互转换211602 5802 2912 1402 712 312 1120每次除2 每次的商每次的余数32二、各种进位制之间的相互转换2116032二、各种进位制之间的相互
16、转换10111010010 11101010 1110110 11101011110 1110 110 033二、各种进位制之间的相互转换10111010033二、各种进位制之间的相互转换二进制1110100或者任何二进制数除以10,即除以2,相当于每次将1110100向右移动一位,变成111010,丢失的数就是余数,这与116除以2每次记下余数是相同道理的。这也就是除基取余法的原理。其实这个道理还可以延伸到任何十进制数向别的进制的转换。比如十进制向十六进制的转换就是将十进制数除以16,记下余数,再除以16,记下余数,依二进制的方法类推34二、各种进位制之间的相互转换二进制1110100或者任
17、何二、各种进位制之间的相互转换最终可以将十进制数转换为十六进制数。再放之到任何进制的转换都可以用相同的计算方法。35二、各种进位制之间的相互转换最终可以将十进制数转换为十六二、各种进位制之间的相互转换2.十进制小数转换为二进制小数(1)减权定位法这种方法与十进制整数的减权定位法一样。(2)乘基取整法这种方法又有些抽象,我们看一看书上的公式。 36二、各种进位制之间的相互转换2.十进制小数转换为二进制小数3二、各种进位制之间的相互转换S=X-12-1+X-22-2+X-m2-m这里的S应当是这个二进制小数计算出来的十进制,而X-1、X-2、X-3是二进制小数的每一位,正是我们拼命想算出来的。我们
18、把上面的公式换一种写法:S=0.5X-1+0.25X-2+0.125X-3+X-m2-m其实就是证实X-1、X-2、X-3各位有还是没有,即有这一位就是1,没有这一位就是0。37二、各种进位制之间的相互转换S=X-12-1+X-22-2+二、各种进位制之间的相互转换S=0.5X-1+0.25X-2+0.125X-3+X-m2-m现在举书上的例子:已知十进制小数是0.6350.625=0.5X-1+0.25X-2+0.125X-3+X-m2-m我们用个小技巧,现在先判断X-1位也就是小数点后第一位有没有1,将等式两边同时乘以2:1.25=0.5?+0.25X-2+0.125X-3+X-m2-m3
19、8二、各种进位制之间的相互转换S=0.5X-1+0.25X-2二、各种进位制之间的相互转换因为左边是1.25,如果0.5这一位没有1的话,就没有0.52这一项,左边也就不可能超过1,所以一定有0.5这一项,这就求得了小数点后第一位。此时式子应当如下:1.25=1+0.5X-2+0.25X-3+X-m2-m现在应当求X-2位,1.25-1=0.5X-2+0.25X-3+X-m2-m0.25=0.5X-2+0.25X-3+X-m2-m39二、各种进位制之间的相互转换因为左边是1.25,如果0.二、各种进位制之间的相互转换现在又回到求第一位时的情况:0.25=0.5X-2+0.25X-3+X-m2-
20、m依次类推,这就是乘基取整法的原理。40二、各种进位制之间的相互转换现在又回到求第一位时的情况:二、各种进位制之间的相互转换3.二进制整数转换为十进制数(1)按权相加法这是二进制的最基本的概念(2)逐次乘基相加法举例:1011=123+022+121+120= 2 2 ( 12+0 )+1 +141二、各种进位制之间的相互转换3.二进制整数转换为十进制数41二、各种进位制之间的相互转换4.二进制小数转换为十进制小数(1)按权相加法这是二进制的最基本的概念(2)逐次除基相加法我们用书上的例子,把0.1011这个二进制小数化为十进制小数,我们换一种写法:S=X-12-1+X-22-2+X-m2-m
21、42二、各种进位制之间的相互转换4.二进制小数转换为十进制小数4二、各种进位制之间的相互转换0.1011=1/2+0/22+1/23+1/240.1011=1/24+1/23+0/22+1/243二、各种进位制之间的相互转换0.1011=1/2+0/22+2.1.2带符号数的表示Q什么是真值?A人们在日常生活中约定俗成用正负号表示的十进制数,也就是我们写在纸上的数字Q什么是机器数?A一根电线用来表示正负号,只能是用有电或没电来表示。不象我们在纸上写数字的时候,有一个专门表示正负的“+、-”号,使我们非常从1、2、3这些数字中区分开来。而计算机中只能用电信号即表示数字又表示正负442.1.2带符
22、号数的表示Q什么是真值?442.1.2带符号数的表示因为带符号数本质上就是将最高位的电信号不当作数字内容而当作正负号内容,而每一内存单元或寄存器单元都是有固定的bit位数的,所以符号位就占了一位,表数的范围就有了变化。一、原码表示法二、补码表示法三、反码表示法最高位表示正负号452.1.2带符号数的表示因为带符号数本质上就是将最高位的2.1.2带符号数的表示一、原码表示法1.定点小数X0X1X2X3X4.Xn一、原码表示法最高位表正负,其余是数的绝对值的大小。注意我们在日常生活中用笔写小数的时候,很轻松的在纸上点上小数点,但是小数点在计算机中一般是计算机默认在某一位上,用不着留下空间专门来存放
23、这个表示点的信号的。462.1.2带符号数的表示一、原码表示法1.定点小数X0X12.1.2带符号数的表示一、原码表示法X真值0X1X原码=1+|X|真值-1X0按照上面的公式的定义,大家看一看下面的两个数0000000010000000472.1.2带符号数的表示一、原码表示法X真值0X2.1.2带符号数的表示一、原码表示法根据原码的定义,最高位0代表+号,1代表-号,随后的是数的绝对值的大小如果把最高位的0、1看成正负号的话,则上面的两个机器数都表示数值01000000000000000482.1.2带符号数的表示一、原码表示法根据原码的定义,最2.1.2带符号数的表示一、原码表示法这两个
24、数按照定义:最高位表示符号,其余位表示绝对值,则:应该为+0和-0,所以原码表示法的机器数0有两种表示法。例子:按照我们日常的书写习惯写就的真值X=+0.1011和X=-0.1011,求其在计算机内部的原码机器数492.1.2带符号数的表示一、原码表示法这两个数按照定义:2.1.2带符号数的表示一、原码表示法 2.定点整数你看他与小数的位数标注有些不一样。 X0X2nX原码= 2n+|X|-2nX0XnX4X3X2X1X0502.1.2带符号数的表示一、原码表示法 2.定点整数Xn2.1.2带符号数的表示一、原码表示法按照定义,我们看看这两个原码:0000010000这两个数是+0和-0,所以
25、0有两种表示。512.1.2带符号数的表示一、原码表示法按照定义,我们看看2.1.2带符号数的表示一、原码表示法3.原码表示法的特点:(1)0有两种表示(2)小数表示范围-1x1整数表示范围-2nx2n(3)运算时符号位单独处理原码其实就是最高位使用0、1表示的符号位加上数的绝对值来表示的一种只有计算机才能使用而不是让人使用只的一种机器数。522.1.2带符号数的表示一、原码表示法3.原码表示法的特点:2.1.2带符号数的表示一、原码表示法原码表示法的优点和缺点:1.原码最大的好处就是乘除法容易,只要把原码的绝对值部分进行运算而无须考虑符号。2.原码的缺点:怎么做减法?也就是说,具体这一次的原
26、码运算究竟是做加法还是减法,是由运算符和两个运算数的正负号共同决定的,而不是很明确地立刻知道这个运算是什么?这大大影响计算机的运算速度。532.1.2带符号数的表示一、原码表示法原码表示法的优点和2.1.2带符号数的表示一、补码表示法补码的由来:在小学时,我们总是先学加法,然后学减法,这至少说明减法比加法难,而且现在我们在计算时,做减法也比做加法容易出错。于是人们就动脑筋,想办法把减法变成加法,大家看一看下面的例子:253176?542.1.2带符号数的表示一、补码表示法补码的由来:542.1.2带符号数的表示一、补码表示法这里面讨厌的就是借位,所以人们就想把借位要么去掉要么无需借位。9991
27、76823大家看看上面的式子,上面的式子仍旧是减法,但是上面的减法无需借位。我们甚至可以从右边向左边减,因为根本不需要借位。552.1.2带符号数的表示一、补码表示法这里面讨厌的就是借2.1.2带符号数的表示一、补码表示法但这与253176有什么关系呢?我们用个技巧:253253+999+1 +823+1176 1077 1077 -1000 77562.1.2带符号数的表示一、补码表示法但这与253562.1.2带符号数的表示一、补码表示法我们把类似于1000-176=824的824叫做-176的相对于1000的补码或补数。现在对于二进制,253-176=77176的二进制是10110000
28、,253的二进制是111111011111110111111101 -1011000011111111+1 -10110000572.1.2带符号数的表示一、补码表示法我们把类似于1002.1.2带符号数的表示一、补码表示法 大家有没有发现,二进制减法11111111 - 10110000不仅无需进位,还可以有二进制自己的优点,即只需将10110000求一下反即可,而最后的和必须要减去100000000,因为内存和寄存器是由位数限制的,会把第九位1自然丢弃,客观上相当于自动减去100000000582.1.2带符号数的表示一、补码表示法 0510-5相当于平移590510-5相当于平移59补码
29、加法的分析被加数与加数相加的所有可能情况有:正数加正数正数加负数负数加正数负数加负数60补码加法的分析被加数与加数相加的所有可能情况有:60补码加法的分析0?,?+0?,?0?,?+1?,?(1)(2)61补码加法的分析0?,?0?,?(补码加法的分析1?,?+0?,?1?,?+1?,?(3)(4)62补码加法的分析1?,?1?,?(2.1.2带符号数的表示一、补码表示法12345678这是因为一个内存单元或寄存器单元的存存储位数是固定的,有些类似下面的里程表或倒带指示器632.1.2带符号数的表示一、补码表示法12345678这是因2.1.2带符号数的表示一、补码表示法642.1.2带符号数
30、的表示一、补码表示法642.1.2带符号数的表示一、补码表示法652.1.2带符号数的表示一、补码表示法652.1.2带符号数的表示一、补码表示法662.1.2带符号数的表示一、补码表示法662.1.2带符号数的表示一、补码表示法1.补码定义2.由真值、原码转换为补码3.由补码表示求原码、真值4.特点672.1.2带符号数的表示一、补码表示法1.补码定义672.1.2带符号数的表示一、补码表示法例如:253-176=771000+253-176-1000=253+1+999-176-1000=253+1+823-1000=253+823+1-1000=1076+1-1000=77例如:176-
31、253=999+176-253-999=999-253+176-999=746+176-999=922-999=-77682.1.2带符号数的表示一、补码表示法例如:682.1.2带符号数的表示一、补码表示法补码的出现就是解决减法的问题,它的出现使得计算机中的加、减法运算非常简便,它不必判断数的正负,只要将符号位也参与运算,就能得到正确的结果。而且补码运算中再也没有减法,都是加法运算。我们再回过头看一看,符号位的由来,即某个模的差,这个差是有自己的含义的,不能单纯看成符号位,而其实它主要并不是起符号位的作用。692.1.2带符号数的表示一、补码表示法补码的出现就是解决2.1.2带符号数的表示一
32、、补码表示法1.补码定义(1)通式X补=M+X(mod M)X 0X1(2)定点小数的补码表示X补=2-|X| -1X0 X0X2n(3)定点整数的补码表示X补= 2n+1-|X| -2nX0702.1.2带符号数的表示一、补码表示法1.补码定义702.1.2带符号数的表示一、补码表示法补码的补充说明:就象我们前面所演示给大家看的是补码的发现其实是为了消灭减法,大家可以用这样一种思维去理解补码:补码其实就是专门针对负数而发明出来的,正数根本不需要什么补码,补码是一个减法的差,所以求一个数的补码就是做一个减法。712.1.2带符号数的表示一、补码表示法补码的补充说明:712.1.2带符号数的表示
33、一、补码表示法负数区域正数区域1267891011722.1.2带符号数的表示一、补码表示法负数区域正数区域1262.1.2带符号数的表示一、补码表示法大家从上面这张图要看出,红色区域的负数是-1(11)、-2(10)、-3(9)、-4(8)、-5(7),他们分别是用钟表的模12分别减去1,2,3,4,5,也就是说,用表面上是正数的7、8、9、10、11来代表-5、-4-3、-2、-1,732.1.2带符号数的表示一、补码表示法大家从上面这张图要2.1.2带符号数的表示一、补码表示法+742.1.2带符号数的表示一、补码表示法742.1.2带符号数的表示一、补码表示法从上面的图中,大家要明确,
34、所有的数都要是一种编码,即被减数和减数都必须是补码或都必须是原码。 针对补码,还有一点要注意的是,负数其实也就是减法,减法也就是负数。只要被减数和减数都保证是补码的话,化为补码的过程其实已经进行了求补的运算过程。也就是说,只要负数变成了补码,就已经有了消去负号的过程。752.1.2带符号数的表示一、补码表示法从上面的图中,大家2.1.2带符号数的表示一、补码表示法我们现在来分析一下二进制补码的全部可能的情况:1.加法加法的所有情况中,被加数和加数如果是一正一负的话,结果不会超过表数范围。加法的情况下,出现超过表数范围的只有可能是要么是两个正数相加,要么是两个负数相加的情况下。762.1.2带符
35、号数的表示一、补码表示法我们现在来分析一下2.1.2带符号数的表示一、补码表示法2.减法减法的情况下,与加法相同的是如果被减数与减数符号相同的情况下不会出现超过表数范围的情况。只有在被减数和减数符号不同的情况下,因为减号会改变减数的符号从而使减数的符号和被减数相同,而原来的减号变成了加号。这时有可能答案超出范围。772.1.2带符号数的表示一、补码表示法2.减法772.1.2带符号数的表示一、补码表示法加法的极端情况:(被加数和加数符号相同)1这个1自然丢失782.1.2带符号数的表示一、补码表示法加法的极端情况:(2.1.2带符号数的表示一、补码表示法减法的极端情况:(被减数和减数符号不同)
36、0110,10111000,11011000,11011001,10111101,11100010,001011自然丢失792.1.2带符号数的表示一、补码表示法减法的极端情况:(2.1.2带符号数的表示一、补码表示法可见,即使自然丢失最高位的0,也有可能答案不对,不对的详细情况,我们在学习加减法指令的时候在加以讨论。802.1.2带符号数的表示一、补码表示法可见,即使自然丢失2.1.2带符号数的表示一、补码表示法2.由真值、原码转换为补码(1)正数的补码与原码相同(2)负数的补码-原码符号不变,其余取反加一(3)手算法812.1.2带符号数的表示一、补码表示法2.由真值、原码转换为2.1.2
37、带符号数的表示一、补码表示法我们在日常生活中,最习惯见到的真值,而正数根本无须转为补码,或者说正数的补码与真值、原码是相同的。而负数则一定要变为补码。负数变为补码的方法有两种:1.先变为原码再变为补码。2.直接由真值变为原码,方法如下:真值一般由类似-0.625、-53的十进制方式给出,我们先写出其正数的二进制方式。822.1.2带符号数的表示一、补码表示法我们在日常生活中,2.1.2带符号数的表示一、补码表示法0.625的二进制值:0.11,将这个正的二进制值连符号位取反加一,即1.00+0.01=1.01,这个1.01就是真值十进制-0.625的二进制补码。类似的是:-53的绝对值二进制数
38、是:11011,加上符号位0,得011011,连符号位求反加一:100101,即得-53的二进制补码:100101832.1.2带符号数的表示一、补码表示法0.625的二进制2.1.2带符号数的表示一、补码表示法3.由补码表示求原码、真值也是取反加一842.1.2带符号数的表示一、补码表示法3.由补码表示求原码、2.1.2带符号数的表示一、补码表示法4.特点(1)符号位既起指示正负号的作用,又参与运算(2)0只有一种表示法852.1.2带符号数的表示一、补码表示法4.特点852.1.3数的定点表示与浮点表示一、定点表示法定点小数定点整数二、浮点表示法定点小数+定点整数862.1.3数的定点表示
39、与浮点表示一、定点表示法862.1.3数的定点表示与浮点表示一、定点表示法1.无符号定点整数2.带符号定点整数3.带符号定点小数872.1.3数的定点表示与浮点表示一、定点表示法1.无符号定2.1.3数的定点表示与浮点表示一、定点表示法1.无符号定点整数最高位再也不用表示正负号了,最高位也表示数值的大小12345678882.1.3数的定点表示与浮点表示一、定点表示法1.无符号定2.1.3数的定点表示与浮点表示一、定点表示法2.带符号定点整数就是我们刚刚讲过的原码、补码、反码3.带符号定点小数就是我们刚刚讲过的原码、补码、反码892.1.3数的定点表示与浮点表示一、定点表示法2.带符号定2.1
40、.3数的定点表示与浮点表示一、定点表示法关于数的精度的问题:每一块CPU、CPU内的寄存器、主存储器在它们的计算单元和存储单元中,在一步四则运算中,所作的数的位数是有限的和固定的,这就存在着数的精度的问题。我们先看一个例子:一个四位长度的存储单元如果在这个存储单元内存放的是二进制整数的话,这些整数的精度就是1902.1.3数的定点表示与浮点表示一、定点表示法关于数的2.1.3数的定点表示与浮点表示一、定点表示法而如果这个存储单元里存放的是定点小数的话,比如存放的是0.1011,大家知道,这个四位二进制小数的十进制数是:S=12-1+02-2+12-3+12-4S=10.5+00.125+10.
41、0625+10.03125而四位二进制定点小数的最小表示数只能是1011912.1.3数的定点表示与浮点表示一、定点表示法而如果这2.1.3数的定点表示与浮点表示一、定点表示法换算成十进制就是0.03125,这就是精度。换言之,数是每次跳跃0.03125增大或减小这个大小的数的。在计算机科学中,专业术语称之为“离散值”,因为如果把这些二进制数标注在坐标轴上,大家看到的是一些有固定间隔的一些点。0001922.1.3数的定点表示与浮点表示一、定点表示法0001922.1.3数的定点表示与浮点表示一、定点表示法计算机一次所能计算的二进制数的加减乘除的位数是有限制的,这就决定了一次计算是由精度限制的
42、。我们知道,用来存储数的位数越长,数的精度越高,但是计算机一次所能运算的长度有限,所以要达到高精度的运算有以下几个途径:1.让计算机一次可以做更长的四则运算。2.用人工分解的办法编制程序,把一个很长的二进制数的四则运算分解成很多步较短的二进制运算组合。932.1.3数的定点表示与浮点表示一、定点表示法计算机一2.1.3数的定点表示与浮点表示一、定点表示法3.采用浮点计数法二进制浮点数就是二进制的科学计数法。科学计数法是有格式上的要求的,必须按照严格的格式要求来转化二进制数。942.1.3数的定点表示与浮点表示一、定点表示法3.采用浮点2.1.3数的定点表示与浮点表示一、浮点表示法浮点数由一个定
43、点整数和一个定点小数组成。真值为:N=REM,R=21.浮点数的原理性(格式)就是科学计数法的二进制延伸。阶符数符EfEmEm-1E1MfM1M2Mn阶码E尾数M952.1.3数的定点表示与浮点表示一、浮点表示法浮点数由2.1.3数的定点表示与浮点表示一、浮点表示法我们中学时学过科学计数法,当然那是十进制的。S=1.24351026,这样又简短有醒目。浮点数其实就是二进制的科学计数法。1.阶码的底就是进制2.阶码比例因子RE的指数值,用带符号定点整数表示,即前面所讲的二进制整数机器数的原码、补码、反码的表示。3.尾数M,用带符号定点小数表示,用规范化约定,比如:962.1.3数的定点表示与浮点
44、表示一、浮点表示法我们中学2.1.3数的定点表示与浮点表示一、浮点表示法以二进制为例,规格化的尾数要求在:0.5|M|1之间,如果不在这之间,比如:十进制0.0625他的二进制是:0.0001,并不在0.5|M|1之间,但是我们可以用0.12-3来调整使其落在0.5|M|1之间。972.1.3数的定点表示与浮点表示一、浮点表示法以二进制2.1.3数的定点表示与浮点表示一、浮点表示法2.移码(增码)X移=2m+X-2mX2m移码与补码的表示范围相同,只是在代码形式上符号位相反而已。举例:X=-(128)十进制=-(10000000)二进制上面的两个数分别是十进制和二进制的真值,移码为X=27+(
45、-10000000)=00000000982.1.3数的定点表示与浮点表示一、浮点表示法2.移码(增2.1.3数的定点表示与浮点表示一、浮点表示法我们在看一看下面的表: X移=2m+X十进制真值二进制真值补码机器数移码机器数-128-100000001000000000000000-1-000000011111111101111111+1+000000010000000110000001+127+011111110111111111111111992.1.3数的定点表示与浮点表示一、浮点表示法我们在看一看2.1.3数的定点表示与浮点表示一、浮点表示法可见,补码与移码的区别只是最高有效位相反,即
46、符号位相反。3.表示范围与精度若浮点数的格式如下:EfEmEm-1E1MfM1M2Mn阶码E (M+1位)尾数M(n+1位)1002.1.3数的定点表示与浮点表示一、浮点表示法可见,补2.1.3数的定点表示与浮点表示一、浮点表示法如果阶码和尾数都用补码表示而不用移码表示的话,则:典型值补码浮点数代码真值绝对值最大负数011,1.0000绝对值最小负数100,1.1000非零最小正数100,0.1000最大正数011,0.111012.1.3数的定点表示与浮点表示一、浮点表示法如果阶码2.1.3数的定点表示与浮点表示一、浮点表示法首先看一看阶码2X,不管X的值是正是负2X这个数不可能是负数。阶码
47、0111是最大的正数,化为十进制数就是2m-1,那这个数乘以尾数的正数的最大值0.111即1-2-n就得到正数的最大浮点数值。如果乘以负数的最小值-1的话,就得到最小的负数浮点数值。阶码的最小的正数是2-2m,这个数乘以最小的正数0.5(因为规范化表示0.5x1)1022.1.3数的定点表示与浮点表示一、浮点表示法首先看一2.1.3数的定点表示与浮点表示一、浮点表示法得最小正数0.52-2m。拿最小阶码乘以最小的负数尾数-0.5,得到最大的负数-0.52-2m。4.IEEE754标准浮点格式这样的标准就是规定了浮点数的格式,其实就是规定了浮点数的定点整数部分和浮点整数部分各占多少长度。1032
48、.1.3数的定点表示与浮点表示一、浮点表示法得最小正数02.1.3数的定点表示与浮点表示一、浮点表示法数符阶码尾数总位数短实数182332长实数1115264临时实数11564801042.1.3数的定点表示与浮点表示一、浮点表示法数符阶码尾数2.1.3数的定点表示与浮点表示一、浮点表示法代码格式为:32位313023220s0阶码8位(移码)尾数23位(实际24位数)数符1052.1.3数的定点表示与浮点表示一、浮点表示法代码格式为:2.2字符表示即将各个国家、民族的为文字进行数字化,以便于计算机记忆、识别、处理。其核心和办法就是怎样将文字用数字进行编号。而且大家都遵从这个编号。1062.2
49、字符表示即将各个国家、民族的为文字进行数字化,以便2.2字符表示2.2.1ASCII码ASCII(American Standard Code for Information Interchange)区分数字的2与字符的2的区别按字母的顺序和数字的天然顺序自然编码其实只用了七位,最高位是0例如:I am 12 years old.对应的ASCII码是:49 20 61 6D 20 31 32 20 79 65 61 72 73 20 6F 6C 64 2E1072.2字符表示2.2.1ASCII码107108108ascII表中的打印与控制字符109ascII表中的打印与控制字符1092.2字
50、符表示2.2.2汉字编码1.汉字输入码万码奔腾,输入码的本质就是把汉字的内在规律性发掘出来。把发现的规律性用数字编上号,而这些数字与国家标准的汉字编码意义对应,就可以2.汉字交换码3.汉字内部码1102.2字符表示2.2.2汉字编码1102.3指令信息的表示2.3.1指令格式2.3.2常见寻址方式2.3.3指令类型1112.3指令信息的表示2.3.1指令格式1112.3指令信息的表示2.3.1指令格式1.指令中的基本信息(1)操作码(2)操作数或操作数地址(3)存放运算结果的地址(4)后继指令地址操作码OP地址码A1122.3指令信息的表示2.3.1指令格式1.指令中的基本信息操2.3指令信息的表示2.3.1指令格式
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 物流服务合同书范本特点
- 经典企业保证书案例
- 应聘者责任承诺
- 电动液压车采购协议
- 个人信誉承诺书
- 预售房屋买卖合同范本
- 沙石料销售购销协议
- 小产权房房屋交易合同模板
- 廉洁招标保证书
- 高性能笔记本采购合同
- GB/T 40276-2021柔巾
- GB/T 3750-2008卡套式铰接管接头
- GB/T 20944.3-2008纺织品抗菌性能的评价第3部分:振荡法
- GB/T 18015.5-2007数字通信用对绞或星绞多芯对称电缆第5部分:具有600MHz及以下传输特性的对绞或星绞对称电缆水平层布线电缆分规范
- 自然辩证法概论(新)
- 老旧小区维修改造监理服务方案2
- 《政府会计》课后习题答案(第4-18章)
- 中小学音体美器材配备标准
- 重庆开州区2021-2022学年度(上册)五年级期末质量监测卷语文试卷
- 审计意见类型例题
- (整理)涂料实验报告
评论
0/150
提交评论