《计算机中的数制表示精选PPT.ppt》由会员分享,可在线阅读,更多相关《计算机中的数制表示精选PPT.ppt(42页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、计算机中的数制表示第1页,此课件共42页哦补充的主要内容补充的主要内容 数制的基本概念数制的基本概念 计算机中的数制计算机中的数制 数制间的转换数制间的转换 计算机数值数据的机内表示计算机数值数据的机内表示第2页,此课件共42页哦基数基数 是最大进位数是最大进位数(进制数进制数),例如,例如:十进制基数为十进制基数为10;10;六六 十进制十进制(时间时间)的基数为的基数为6060等等数符数符 每个数位上的值。每个数位上的值。例如例如:234:234 百位数符为百位数符为2 2,十位数符,十位数符3 3,个位数符,个位数符4 4。位数位数 数符的个数。例如数符的个数。例如:十进制数十进制数 2
2、34 234 的位数为的位数为3 3;二进制数二进制数 11010011 11010011 的位数为的位数为 8 8。位权:不同位上数字的单位值位权:不同位上数字的单位值一、一、数制的基本概念数制的基本概念第3页,此课件共42页哦二、二、计算机的数制计算机的数制常用计数制的基数和数字符号常用计数制的基数和数字符号第4页,此课件共42页哦计算机的数制计算机的数制十进制数(十进制数(十进制数(十进制数(DecimalDecimalDecimalDecimal)特点:数值用特点:数值用0 09 9表示,逢十进一。表示,逢十进一。十进制通式为:十进制通式为:十进制通式为:十进制通式为:s10=a n1
3、0 n-1+.+a1100+a-1 10-1+.+a-m 10-m小数部分,小数部分,m m为小数部分位数为小数部分位数整数部分,整数部分,n n为整数部分位数为整数部分位数其中:其中:“1010”为十进制数的基数为十进制数的基数第5页,此课件共42页哦计算机的数制计算机的数制(2 2 2 2)二进制数)二进制数)二进制数)二进制数(Binary)(Binary)(Binary)(Binary)特点特点 :0 0 或或 1 1,逢二进一。逢二进一。二进制数的通式为:二进制数的通式为:s2=an 2 n-1 +.+a120 +a-12-1 +a-m2-m 例如:例如:1+1=101+1=10 1
4、1+1=100 11+1=100 而不是等于而不是等于1212第6页,此课件共42页哦计算机的数制计算机的数制(3 3 3 3)八进制)八进制(Octal)(Octal)(Octal)(Octal)特点:数字为特点:数字为0 07 7,逢八进一,逢八进一。八进制数的通式为:八进制数的通式为:八进制数的通式为:八进制数的通式为:s8 =an8 n-1 +.+a18 0 +a-18-1+a-m8-m 例如:例如:7+1=10 7+1=10 而不是等于而不是等于8 8第7页,此课件共42页哦(4 4)十六进制)十六进制)十六进制)十六进制(Hexadecimal)(Hexadecimal)(Hexa
5、decimal)(Hexadecimal)特点:每位可取数字特点:每位可取数字0 09 9和英文字母和英文字母A A(1010)、)、B(11B(11)、)、C(12C(12)、)、D(13D(13)、)、E(14E(14)、)、F(15)F(15)的任意一个,的任意一个,逢十六进一。逢十六进一。十六进制数的通式为:十六进制数的通式为:十六进制数的通式为:十六进制数的通式为:S S1616=a=an n16 16 n-1 n-1 +.+a+.+a1 116160 0 +a a-1-11616-1-1+.+a+.+a-m-m1616-m-m 例如:例如:9+1=A 9+1=A 而不是等于而不是等
6、于1010 F+1=10 F+1=10计算机的数制计算机的数制第8页,此课件共42页哦十进制(十进制(D)D)二进制二进制(B)(B)八进制八进制(O)(O)十六进制十六进制(H)(H)0 0 0 0 1 01 1 12 10 2 23 11 3 34 100 4 45 101 5 56 110 6 6 7 111 7 78 1000 10 89 1001 11 910 1010 12 A11 1011 13 B计算机的数制计算机的数制第9页,此课件共42页哦三、数制间的转换三、数制间的转换十进制数十进制数非十进制数非十进制数非十进制数非十进制数十进制数十进制数二、八、十六进制之间的转换二、八
7、、十六进制之间的转换第10页,此课件共42页哦 8 75 3 8 9 1 8 1 1 0结果为:113余数法:余数法:除基数取余数、由下而上排列。示例:示例:十进制整数十进制整数 非十进制整数非十进制整数第11页,此课件共42页哦2 75 1 2 37 1 2 18 0 2 9 1 2 4 0 2 2 0 2 1 1 0又例:又例:结果为:结果为:1001011第12页,此课件共42页哦进位法:进位法:用十进制小数乘基数,当积为0或达到 所要求的精度时,将整数部分由上而下排列。示例:示例:0.625 2 1.250 整数=1 2 0.50 整数=0 2 1.0 整数=1 小数值=0结果为:结果
8、为:0.101十进制小数十进制小数 非十进制小数非十进制小数第13页,此课件共42页哦例:计算(25.36)10=(?)2=(?)8第14页,此课件共42页哦位权法位权法:把各非十进制数按权展开求和转换公式转换公式:(F)10=an X n-1 +.+a1X0 +a-1X-1 +a-mX-m示例:示例:(1011.1)2=123+022+121+1 20+1 2-1 =8+0+2+1+0.5 =(11.5)10非十进制数非十进制数 十进制数十进制数第15页,此课件共42页哦 整数从右向左三位并一位整数从右向左三位并一位 小数从左向右三位并一位小数从左向右三位并一位二进制二进制 八进制八进制二、
9、八与十六进制之间的转换二、八与十六进制之间的转换一位拆三位一位拆三位一位拆四位一位拆四位 整数从右向左四位并一位整数从右向左四位并一位 小数从左向右四位并一位小数从左向右四位并一位二进制二进制 十六进制十六进制 第16页,此课件共42页哦100 110 110 111.010 100(4 6 6 7.2 4)81001 1011 0111.0101(9 B 7 .5)16示例:示例:第17页,此课件共42页哦存在计算机内存中的数据都是二进制形式。四、数据的机内表示四、数据的机内表示第18页,此课件共42页哦机器表示:机器表示:机器表示:机器表示:0 0 1 0 1 0 1 1符号位符号位数值部
10、分数值部分1 0 1 0 1 0 1 1数值部分数值部分(+53)8(-53)8真真值值符号位符号位机器数与真值机器数与真值第19页,此课件共42页哦机器数:机器数:对于有符号的数,机器中约定某一位表示符号,连同对于有符号的数,机器中约定某一位表示符号,连同数符一起数码化的数。无符号的数没有符号位。数符一起数码化的数。无符号的数没有符号位。常用常用“0”表示正号,表示正号,“1”表示负号。表示负号。机器数的真值:机器数的真值:按一般习惯书写形式,即,正负号加绝对值表示的数。按一般习惯书写形式,即,正负号加绝对值表示的数。机器数与真值机器数与真值第20页,此课件共42页哦例如:真值为例如:真值为
11、1101的一种机器数形式为?的一种机器数形式为?01101真值为真值为1101的一种机器数形式为?的一种机器数形式为?11101 显然,机器数形式的二进制位数受机器字长限制,显然,机器数形式的二进制位数受机器字长限制,因而表示的因而表示的范围和精度范围和精度也将受到相对限制也将受到相对限制机器数与真值机器数与真值第21页,此课件共42页哦数值数据的表示:原码、反码、补码数值数据的表示:原码、反码、补码数值数据在内存中数据一般采用补码表示。数值数据在内存中数据一般采用补码表示。第22页,此课件共42页哦 若符号位为若符号位为0,则,则 表示正数表示正数 若符号位为若符号位为1,则表示负数,则表示
12、负数 表示方法规定表示方法规定:最高位作为符号位最高位作为符号位,其余各位代表数值其余各位代表数值本身的绝对值本身的绝对值(以二进制表示以二进制表示).).数值数据的原码表示数值数据的原码表示第23页,此课件共42页哦1011真值真值原码原码 -10110.1011-0.101100001011100010110.10110001.1011000 例例1 1 假设用一个字节表示一个整数,求假设用一个字节表示一个整数,求+7+7和和-7-7的原码的原码 解:解:(7 7 )原原 0000011110000111(7 7)原原例例2 2数值数据的原码表示数值数据的原码表示第24页,此课件共42页哦
13、 (0 0)原原 (0 0)原原例例3 3 假设用一个字节来表示一个整数,求假设用一个字节来表示一个整数,求0 0和和0 0的原码表的原码表示示解:解:0 0000000000000001 100000000000000故可知:故可知:0 0的原码不唯一的原码不唯一数值数据的原码表示数值数据的原码表示第25页,此课件共42页哦解:解:(7 7)反反 (7 7)反反表示方法规定:表示方法规定:1.1.一个数如果值为一个数如果值为正正,则它的反码与原码则它的反码与原码相同相同 2.2.一个数如果值为一个数如果值为负负,则将其则将其符号位置为符号位置为 1 1,其余各位为对其余各位为对原码的原码的相
14、应数据位取反相应数据位取反.例例1 1 假设只用一个字节来表示一个整数,求假设只用一个字节来表示一个整数,求+7+7和和-7-7的反码的反码0000011111111000数值数据的反码表示数值数据的反码表示第26页,此课件共42页哦解:解:(0 0 )反反 (0 0 )反反例例2.2.假设只用一个字节来表示一个整数,求假设只用一个字节来表示一个整数,求0 0和和0 0的的反码表示反码表示故可知:故可知:0 0的反码不唯一的反码不唯一00000000000000001111111111111111数值数据的反码表示数值数据的反码表示第27页,此课件共42页哦“补码补码”的原理的原理表示方法规定
15、表示方法规定:1 1、正正数的补码、反码、原码数的补码、反码、原码相同相同.2 2、对于、对于负负数的补码,则将其数的补码,则将其最高位置为最高位置为 1 1,其余各,其余各位为对位为对原码的相应数据位取反原码的相应数据位取反,然后再对整个数,然后再对整个数加加1 1.数值数据的补码表示数值数据的补码表示第28页,此课件共42页哦例例1 1 假设只用一个字节来表示一个整数,求假设只用一个字节来表示一个整数,求+7+7和和-7-7的的补码补码解:解:(7 )补)补00000111(7 )补)补11110001+111111001数值数据的补码表示数值数据的补码表示第29页,此课件共42页哦注意:
16、零的补码表示是唯一的注意:零的补码表示是唯一的故故:(0 )补补00000000=(0 )补补 例例2.2.假设只用一个字节来表示一个整数,求假设只用一个字节来表示一个整数,求0 0和和0 0的补码表示的补码表示(0 )补补00000000(0 )补补11111111 1000000001进位自然舍去进位自然舍去 X为负数为负数时 x补补=x反反+1数值数据的补码表示数值数据的补码表示第30页,此课件共42页哦十进制数十进制数 原码表示原码表示 反码表示反码表示 补码表示补码表示4 00000100 00000100 000001004 00000100 00000100 000001003
17、00000011 00000011 000000113 00000011 00000011 000000112 00000010 00000010 000000102 00000010 00000010 000000101 00000001 00000001 000000011 00000001 00000001 000000010 00000000 00000000 000000000 00000000 00000000 00000000-0 10000000 11111111-0 10000000 11111111-1 10000001 11111110 11111111-1 100000
18、01 11111110 11111111-2 10000010 11111101 11111110-2 10000010 11111101 11111110-3 10000011 11111100 11111101-3 10000011 11111100 11111101-4 10000100 11111011 11111100-4 10000100 11111011 11111100-5 10000101 11111010 11111011-5 10000101 11111010 11111011第31页,此课件共42页哦为什么用补码为什么用补码计算机的硬件结构中只有加法器,所以大部分的运算
19、都必计算机的硬件结构中只有加法器,所以大部分的运算都必须最终转换为加法须最终转换为加法.如果用原码做减法:如果用原码做减法:十进制:十进制:(1)(1)1010-(1)-(1)1010=(1)=(1)1010+(-1)+(-1)1010=(0)=(0)1010二进制:二进制:(1 1)原原=00000001 (-1)=00000001 (-1)原原=10000001=10000001(00000001)(00000001)原原 +(10000001)+(10000001)原原 =(1000010)=(1000010)原原 =(-2)=(-2)1010显然不正确显然不正确问题出现在带符号位的负数
20、问题出现在带符号位的负数 第32页,此课件共42页哦为什么用补码为什么用补码如果用反码做减法:如果用反码做减法:(1 1)反反=00000001 =00000001 (-1-1)原原=11111110=11111110(00000001)(00000001)反反 +(11111110)+(11111110)反反 =(11111111)=(11111111)反反 =(-0)=(-0)有问题。有问题。如果用补码做减法:如果用补码做减法:(1)(1)补补=00000001 (-1)=00000001 (-1)补补=11111111=11111111(00000001)补补+(11111111)+(1
21、1111111)补补 =(00000000)=(00000000)补补=(0)=(0)正确。正确。第33页,此课件共42页哦例例3 3 假设只用一个字节来表示一个整数,求假设只用一个字节来表示一个整数,求+7-6+7-6的值的值 解解 :(7 7 )补)补0000011100000111 (6 6 )补)补1111101011111010 00000111+11111010 100000001进位自然舍去进位自然舍去为什么用补码为什么用补码第34页,此课件共42页哦 对补码再求一次补,会得到该数的原码。对补码再求一次补,会得到该数的原码。已知补码为:已知补码为:1111101011111010
22、 10000101 10000101 +1+1 10000110 10000110 (-6-6)第35页,此课件共42页哦为什么用补码为什么用补码计算机中采用补码的设计目的是:计算机中采用补码的设计目的是:使符号位能与有效值部分一起参加运算,使符号位能与有效值部分一起参加运算,从而简化运算规则。补码机器数中的符号从而简化运算规则。补码机器数中的符号位,并不是强加上去的,是数据本身的自位,并不是强加上去的,是数据本身的自然组成部分,可以正常地参与运算。然组成部分,可以正常地参与运算。使减法运算转换为加法运算,进一步简化使减法运算转换为加法运算,进一步简化计算机中运算器的线路设计。计算机中运算器的
23、线路设计。所有这些转换都是在计算机的最底层进行的,所有这些转换都是在计算机的最底层进行的,而在我们使用的汇编、而在我们使用的汇编、c c等其他高级语言中等其他高级语言中使用的都是原码。使用的都是原码。第36页,此课件共42页哦XX原、原、XX反反 、XX补用补用“0 0”表示正号,用表示正号,用“1 1”表示负号表示负号如果如果X X为正数,则为正数,则XX原原=X=X反反 =X=X补。补。如果如果X X为为0 0,则,则 X X 补补 有唯一有唯一 编码,编码,XX原、原、XX反反 有两种编码。有两种编码。对补码再求一次补,会得到该数的原码对补码再求一次补,会得到该数的原码总结第37页,此课
24、件共42页哦在计算机中没有专门表示小数点的位,小在计算机中没有专门表示小数点的位,小数点的位置是约定默认的。数点的位置是约定默认的。定点数:定点数:小数点位置固定的数。小数点位置固定的数。浮点数:浮点数:小数点位置可以变动的数。小数点位置可以变动的数。定点数与浮点数定点数与浮点数第38页,此课件共42页哦先澄清一个概念,浮点数并不一定等于小先澄清一个概念,浮点数并不一定等于小数,定点数也并不一定就是整数。数,定点数也并不一定就是整数。所谓浮点数就是小数点在逻辑上是不固定所谓浮点数就是小数点在逻辑上是不固定的,而定点数只能表示小数点固定的数值,的,而定点数只能表示小数点固定的数值,具用浮点数或定
25、点数表示某哪一种数要看具用浮点数或定点数表示某哪一种数要看用户赋予了这个数的意义是什么。用户赋予了这个数的意义是什么。第39页,此课件共42页哦0100000010000011定点小数:定点小数:定点整数:定点整数:定定点点数数符号位符号位隐含小数位隐含小数位符号位符号位隐含小数位隐含小数位第40页,此课件共42页哦定点数表示简单直观,但运算值表示的范定点数表示简单直观,但运算值表示的范围较小,运算时容易产生溢出。围较小,运算时容易产生溢出。为增大数值的表示范围,防止溢出,采用为增大数值的表示范围,防止溢出,采用浮点数表示法。类似于科学计数法。浮点数表示法。类似于科学计数法。如:如:0.27E-2 +0.27*100.27E-2 +0.27*10-2-2第41页,此课件共42页哦31 30 24 23 22 31 30 24 23 22 0 0如:如:0.27E-2 +0.27*100.27E-2 +0.27*10-2-2浮浮点点数数阶符阶符 阶码阶码 数符数符 尾数尾数 阶码部分阶码部分 尾数部分尾数部分 阶码用定点整数,尾数用定点小数表示阶码用定点整数,尾数用定点小数表示第42页,此课件共42页哦
限制150内