二章计算机中的信息表示.ppt
《二章计算机中的信息表示.ppt》由会员分享,可在线阅读,更多相关《二章计算机中的信息表示.ppt(125页珍藏版)》请在三一文库上搜索。
1、1,第二章计算机中的信息表示,2,学习目标,掌握常用的进位计数制及其相互转换方法 掌握原码、补码的表示方法及其相互转换,了解反码表示方法 掌握定点数、浮点数表示方法,能根据给定格式写出典型值 学会查用ASCII表,了解汉字编码的基础知识 掌握常用寻址方式,I/O编址方法;理解指令格式的基本概念,了解常见的指令功能分类,3,第二章计算机中的信息表示,2.1数值型数据的表示方法人类生活中的数 字 2.2字符表示各国的文字 2.3指令信息的表示计算机的“语言”,4,2.1数值型数据的表示方法,FAQ: Q:逢几进位? A:基数 Q:如何使正负号也数字化? A:只有用有电或没电来表示,即0、1 Q:如
2、何表示带小数点的数? A:浮点数,5,2.1数值型数据的表示方法,2.1.1进位计数制 2.1.2带符号数的表示 2.1.3数的定点表示与浮点表示,6,进位计数制,进位计数制是一种计数方法,习惯上常用的是十进制计数法。但在计算机中常用的计数制除了十进制外,还有二进制、十六进制和八进制。 在汇编语言中,每一种进制都有自己的表示方法。 对于以上三种进制数可以通过下表中的对应项互相转换:,7,2.1.1进位计数制,一、计算机中常用的进位制 1.二进制 2.八进制 3.十六进制 4.二十进制 二、各种进位制之间的相互转换 1.十进制整数转换为二进制整数 2.十进制小数转换为二进制小数 3.二进制整数转
3、换为十进制整数 4.二进制小数转换为十进制小数,8,1、十进制表示形式:,2、二进制表示形式:,(D:09),(B:0、1),9,3、八进制的表示形式:,(Q:07),4、十六进制的表示形式:,(H:09,AF),10,2.1.1进位计数制,1.什么叫基数? 2.什么叫权? 计数的方法经过人类历史的漫长演化,到现在已趋于统一,即全世界几乎都用阿拉伯数字符的10进制计数方法。所以,只要不用本国语言,而用数学语言的话,任何一个国家的学生解一个一元二次方程的写法差不多一至。,11,2.1.1进位计数制,也就是说: 3 4 1 5 1 7 0 3 4 5 1 0 这样一模一样的算法,一模一样的写法中,
4、12,2.1.1进位计数制,和美国是一样的。而且全世界也一样。 阿拉伯字符表示的10进制肯定有其优点,否则也不会统一全世界的计数制了。我们中国的字符表示用的是笔划多的可怕的象形文字:壹、贰、叁、肆、伍、陆、柒、捌、玖、拾,从表数字符的繁杂度和没有用位置表示大小的弊病方面,在纸上运算出一个乘法结果都是不可能的。,13,2.1.1进位计数制,叁拾肆 壹 拾伍 所以中国古代的数学家并不是用草稿纸来演算数学的,用的是小竹棍,叫算筹。而且掌握算筹演算法也并不是很容易。,14,2.1.1进位计数制,阿拉伯计数法的优点: 1.没有一个表示10的字符,而世界上的其他计数法都多余了一个表示10的字符。而如果有表
5、示10的字符,则就决定无法用位置来表示大小。 2.比别的表数法多了一个至关重要的0,有了0就可以用位置表示大小。 我们今天用的其他进制都是阿拉伯表数法的推广,都有一个0,15,2.1.1进位计数制,我们现在所使用的各种进位制都是在阿拉伯十进制的原理下衍生出来的,都有一个表示“零”的符号,都采用位置表示大小。 所以,我们在掌握了进位制的原理后,可以将二、八、十六进位统一叙述一下。 链接表格,16,17,二、各种进位制之间的相互转换,第一组:二、八、十六进制转换简单一一对应 第二组:二进制与十进制的相互转换(整数与 小数的转换方法不同),18,1、非十进制数转换成十进制数: 二进制数转换:,八进制
6、数转换:,十六进制转换:,.把各个非十进制数按权展开求和即可。,按权相加法,19,2、十进制数转换成非十进制数: 转换成二进制:除基取余法,2 7,2,13,2,2,6,2,3,2,1,0,1,1,0,1,1,余数,二进制整数高位,二进制整数低位,0.75,2,1.50,2,1.00,1,1,整数,例子:27.75,二进制小数首位,二进制小数末位,结果:,20,转换成八进制:,例子:1725.6875,1725,215,26,3,0,8,8,8,8,5,7,2,3,0.6875,8,5.5000,8,4.0000,5,4,结果:,21,转换成十六进制:,例子:12345.671875,1234
7、5,771,48,3,16,16,16,16,0,9,3,0,3,0.671875,16,10.750000,16,12.000000,A,C,结果:,除基取余法,22,3非十进制数之间的转换:,八进制数转换成二进制数:,7 4 1 3,111 100 001 011,二进制转换成八进制数:,110 010 001 101,6 2 1 5,直接对应法,23,十六进制数转换成二进制数:,A 6 1 C,1010 0110 0001 1100,二进制数转换成十六进制数:,1101 0101 1110 1001 D 5 E 9,返回,直接对应法,24,二、各种进位制之间的相互转换 第一组:二、八、十
8、六进制转换简单一一对应,为什么二、八、十六进制之间的转换无需计算可以用对应代替法互相转换呢? 其实八、十六进制的诞生对于我们的日常生活来说并没有起到多大作用,如果不是毫无作用的话。其实八、十六进制的产生其实就是为了使二进制数字的记录、计算、输入输出得以减少长度从而不易出错。 但为什么只有八、十六进制可以无需计算可以直接转换呢?,25,二、各种进位制之间的相互转换 第一组:二、八、十六进制转换简单一一对应,按照进位制的原理,八进制需要八个不同的符号来表示从小到大的八个基数,因为习惯的原因,我们借用了阿拉伯十进制计数中的从0开始的0、1、2、3、4、5、6、7来表述,而八进制的7以后的数,即7(8
9、)+1(8)=10(8)。 此时我们再回过头看一看二进制,三位二进制数可以表示八个连续不同的数值,26,二、各种进位制之间的相互转换 第一组:二、八、十六进制转换简单一一对应,大小: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,2
10、7,二、各种进位制之间的相互转换 第一组:二、八、十六进制转换简单一一对应,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),28,二、各种进位制之间的相互转换 第一组:二、八、十六进制转换简单一一对应
11、,此时大家发现,二进制1001并没有下一位即第五位进位,即没有变成0001,1001,所以大家不能用四位二进制直接代替十进制,但八进制与十六进制却可以直接代替。 举例:,29,二、各种进位制之间的相互转换 第二组:二进制与十进制的相互转换(整数与 小数的转换方法不同),就是因为二进制与八、十六进制之间的关系很紧密,所以也就不存在相互转换的问题。我们的重点在于二进制与十进制之间的转换。,30,二、各种进位制之间的相互转换,1.十进制整数转换为二进制整数 (1)减权定位法 这种方法很简单,我们先看一看二进制各位的权: S(10)=Xn2n+Xn-12n-1+X323+X222+X121+X020
12、而减权定位法的核心是立刻判断出离所给的十进制数最近而又比自己小的权值是多少,31,二、各种进位制之间的相互转换,(2)除基取余法 除基取余法比较抽象,我们先看个例子: 一个十进制的整数116,每次除以2,它的余数我们可以断定,不是一就是零;就如书上例子:,32,二、各种进位制之间的相互转换,2 116 0 2 58 0 2 29 1 2 14 0 2 7 1 2 3 1 2 1 1 2 0 每次除2 每次的商 每次的余数,33,二、各种进位制之间的相互转换,10 1110100 10 111010 10 11101 10 1110 10 111 10 11 10 1 10 0,34,二、各种进
13、位制之间的相互转换,二进制1110100或者任何二进制数除以10,即除以2,相当于每次将1110100向右移动一位,变成111010,丢失的数就是余数,这与116除以2每次记下余数是相同道理的。 这也就是除基取余法的原理。 其实这个道理还可以延伸到任何十进制数向别的进制的转换。比如十进制向十六进制的转换就是将十进制数除以16,记下余数,再除以16,记下余数,依二进制的方法类推,35,二、各种进位制之间的相互转换,最终可以将十进制数转换为十六进制数。 再放之到任何进制的转换都可以用相同的计算方法。,36,二、各种进位制之间的相互转换,2.十进制小数转换为二进制小数 (1)减权定位法 这种方法与十
14、进制整数的减权定位法一样。 (2)乘基取整法 这种方法又有些抽象,我们看一看书上的公式。,37,二、各种进位制之间的相互转换,S=X-12-1+X-22-2+X-m2-m 这里的S应当是这个二进制小数计算出来的十进制,而X-1、X-2、X-3是二进制小数的每一位,正是我们拼命想算出来的。 我们把上面的公式换一种写法: S=0.5X-1+0.25X-2+0.125X-3+X-m2-m 其实就是证实X-1、X-2、X-3各位有还是没有,即有这一位就是1,没有这一位就是0。,38,二、各种进位制之间的相互转换,S=0.5X-1+0.25X-2+0.125X-3+X-m2-m 现在举书上的例子:已知十
15、进制小数是0.635 0.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-m,39,二、各种进位制之间的相互转换,因为左边是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-m 0.25=0
16、.5X-2+0.25X-3+X-m2-m,40,二、各种进位制之间的相互转换,现在又回到求第一位时的情况: 0.25=0.5X-2+0.25X-3+X-m2-m 依次类推,这就是乘基取整法的原理。,41,二、各种进位制之间的相互转换,3.二进制整数转换为十进制数 (1)按权相加法 这是二进制的最基本的概念 (2)逐次乘基相加法 举例:1011=123+022+121+120= 2 2 ( 12+0 )+1 +1,42,二、各种进位制之间的相互转换,4.二进制小数转换为十进制小数 (1)按权相加法 这是二进制的最基本的概念 (2)逐次除基相加法 我们用书上的例子,把0.1011这个二进制小数化为
17、十进制小数,我们换一种写法: S=X-12-1+X-22-2+X-m2-m,43,二、各种进位制之间的相互转换,0.1011=1/2+0/22+1/23+1/24 0.1011=1/24+1/23+0/22+1/2,44,2.1.2带符号数的表示,Q什么是真值? A人们在日常生活中约定俗成用正负号表示的十进制数,也就是我们写在纸上的数字 Q什么是机器数? A一根电线用来表示正负号,只能是用有电或没电来表示。不象我们在纸上写数字的时候,有一个专门表示正负的“+、-”号,使我 们非常从1、2、3这些数字中区分开来。 而计算机中只能用电信号即表示数字又表示正负,45,2.1.2带符号数的表示,因为带
18、符号数本质上就是将最高位的电信号不当作数字内容而当作正负号内容,而每一内存单元或寄存器单元都是有固定的bit位数的,所以符号位就占了一位,表数的范围就有了变化。 一、原码表示法 二、补码表示法 三、反码表示法,最高位表示 正负号,46,2.1.2带符号数的表示一、原码表示法,1.定点小数,一、原码表示法最高位表正负,其余是数的绝对值的大小。注意我们在日常生活中用笔写小数的时候,很轻松的在纸上点上小数点,但是小数点在计算机中一般是计算机默认在某一位上,用不着留下空间专门来存放这个表示点的信号的。,47,2.1.2带符号数的表示一、原码表示法,X真值 0X1 X原码= 1+|X|真值 -1X0 按
19、照上面的公式的定义,大家看一看下面的两个数 00000000 10000000,48,2.1.2带符号数的表示一、原码表示法,根据原码的定义,最高位0代表+号,1代表-号,随后的是数的绝对值的大小 如果把最高位的0、1看成正负号的话,则上面的两个机器数都表示数值0,49,2.1.2带符号数的表示一、原码表示法,这两个数按照定义:最高位表示符号,其余位表示绝对值,则:应该为+0和-0,所以原码表示法的机器数0有两种表示法。 例子:按照我们日常的书写习惯写就的真值 X=+0.1011和X=-0.1011,求其在计算机内部的原码机器数,50,2.1.2带符号数的表示一、原码表示法,2.定点整数 你看
20、他与小数的位数标注有些不一样。 X 0X2n X原码= 2n+|X| -2nX0,51,2.1.2带符号数的表示一、原码表示法,按照定义,我们看看这两个原码: 00000 10000 这两个数是+0和-0,所以0有两种表示。,52,2.1.2带符号数的表示一、原码表示法,3.原码表示法的特点: (1)0有两种表示 (2)小数表示范围-1x1 整数表示范围-2nx2n (3)运算时符号位单独处理 原码其实就是最高位使用0、1表示的符号位加上数的绝对值来表示的一种只有计算机才能使用而不是让人使用只的一种机器数。,53,2.1.2带符号数的表示一、原码表示法,原码表示法的优点和缺点: 1.原码最大的
21、好处就是乘除法容易,只要把原码的绝对值部分进行运算而无须考虑符号。 2.原码的缺点:怎么做减法?也就是说,具体这一次的原码运算究竟是做加法还是减法,是由运算符和两个运算数的正负号共同决定的,而不是很明确地立刻知道这个运算是什么?这大大影响计算机的运算速度。,54,2.1.2带符号数的表示一、补码表示法,补码的由来: 在小学时,我们总是先学加法,然后学减法,这至少说明减法比加法难,而且现在我们在计算时,做减法也比做加法容易出错。 于是人们就动脑筋,想办法把减法变成加法,大家看一看下面的例子: 253 176 ?,55,2.1.2带符号数的表示一、补码表示法,这里面讨厌的就是借位,所以人们就想把借
22、位要么去掉要么无需借位。 999 176 823 大家看看上面的式子,上面的式子仍旧是减法,但是上面的减法无需借位。我们甚至可以从右边向左边减,因为根本不需要借位。,56,2.1.2带符号数的表示一、补码表示法,但这与 253 176 有什么关系呢?我们用个技巧: 253 253 + 999+1 + 823+1 176 1077 1077 -1000 77,57,2.1.2带符号数的表示一、补码表示法,我们把类似于1000-176=824的824叫做 -176的相对于1000的补码或补数。 现在对于二进制,253-176=77 176的二进制是10110000,253的二进制是11111101
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 中的 信息 表示
链接地址:https://www.31doc.com/p-2554477.html