《计算机中的数制表示优秀PPT.ppt》由会员分享,可在线阅读,更多相关《计算机中的数制表示优秀PPT.ppt(42页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、计算机中的数制表示现在学习的是第1页,共42页补充的主要内容补充的主要内容 数制的基本概念数制的基本概念 计算机中的数制计算机中的数制 数制间的转换数制间的转换 计算机数值数据的机内表示计算机数值数据的机内表示现在学习的是第2页,共42页基数基数 是最大进位数是最大进位数(进制数进制数),例如,例如:十进制基数为十进制基数为10;10;六六 十进制十进制(时间时间)的基数为的基数为6060等等数符数符 每个数位上的值。每个数位上的值。例如例如:234:234 百位数符为百位数符为2 2,十位数符,十位数符3 3,个位数符,个位数符4 4。位数位数 数符的个数。例如数符的个数。例如:十进制数十进
2、制数 234 234 的位数为的位数为3 3;二进制数二进制数 11010011 11010011 的位数为的位数为 8 8。位权:不同位上数字的单位值位权:不同位上数字的单位值一、一、数制的基本概念数制的基本概念现在学习的是第3页,共42页二、二、计算机的数制计算机的数制常用计数制的基数和数字符号常用计数制的基数和数字符号现在学习的是第4页,共42页计算机的数制计算机的数制十进制数(十进制数(十进制数(十进制数(DecimalDecimalDecimalDecimal)特点:数值用特点:数值用0 09 9表示,逢十进一。表示,逢十进一。十进制通式为:十进制通式为:十进制通式为:十进制通式为:
3、s10=a n10 n-1+.+a1100+a-1 10-1+.+a-m 10-m小数部分,小数部分,m m为小数部分位数为小数部分位数整数部分,整数部分,n n为整数部分位数为整数部分位数其中:其中:“1010”为十进制数的基数为十进制数的基数现在学习的是第5页,共42页计算机的数制计算机的数制(2 2)二进制数)二进制数)二进制数)二进制数(Binary)(Binary)特点特点 :0 0 或或 1 1,逢二进一。逢二进一。二进制数的通式为:二进制数的通式为:s2=an 2 n-1 +.+a120 +a-12-1 +a-m2-m 例如:例如:1+1=101+1=10 11+1=100 11
4、+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 4 4)十六进制)十六进制(Hexadecimal)(Hexadecimal)(Hexadecimal)(Hex
5、adecimal)特点:每位可取数字特点:每位可取数字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 而不是等于而不是等于1010 F+1=10
6、 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
10、1符号位符号位数值部分数值部分1 0 1 0 1 0 1 1数值部分数值部分(+53)8(-53)8真真值值符号位符号位机器数与真值机器数与真值现在学习的是第19页,共42页机器数:机器数:对于有符号的数,机器中约定某一位表示符号,连同数对于有符号的数,机器中约定某一位表示符号,连同数符一起数码化的数。无符号的数没有符号位。符一起数码化的数。无符号的数没有符号位。常用常用“0”表示正号,表示正号,“1”表示负号。表示负号。机器数的真值:机器数的真值:按一般习惯书写形式,即,正负号加绝对值表示的按一般习惯书写形式,即,正负号加绝对值表示的数。数。机器数与真值机器数与真值现在学习的是第20页,共4
11、2页例如:真值为例如:真值为1101的一种机器数形式为?的一种机器数形式为?01101真值为真值为1101的一种机器数形式为?的一种机器数形式为?11101 显然,机器数形式的二进制位数受机器字长限制,显然,机器数形式的二进制位数受机器字长限制,因而表示的因而表示的范围和精度范围和精度也将受到相对限制也将受到相对限制机器数与真值机器数与真值现在学习的是第21页,共42页数值数据的表示:原码、反码、补码数值数据的表示:原码、反码、补码数值数据在内存中数据一般采用补码表示。数值数据在内存中数据一般采用补码表示。现在学习的是第22页,共42页 若符号位为若符号位为0,则,则 表示正数表示正数 若符号
12、位为若符号位为1,则表示负数,则表示负数 表示方法规定表示方法规定:最高位作为符号位最高位作为符号位,其余各位代表数其余各位代表数值本身的绝对值值本身的绝对值(以二进制表示以二进制表示).).数值数据的原码表示数值数据的原码表示现在学习的是第23页,共42页1011真值真值原码原码 -10110.1011-0.101100001011100010110.10110001.1011000 例例1 1 假设用一个字节表示一个整数,求假设用一个字节表示一个整数,求+7+7和和-7-7的原码的原码 解:解:(7 7 )原原 0000011110000111(7 7)原原例例2 2数值数据的原码表示数值
13、数据的原码表示现在学习的是第24页,共42页 (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.一个数如果值为一个数如果值为负负,则将其则将其符号位置为符号位置为
14、 1 1,其余各位为对其余各位为对原码的原码的相应数据位取反相应数据位取反.例例1 1 假设只用一个字节来表示一个整数,求假设只用一个字节来表示一个整数,求+7+7和和-7-7的反码的反码0000011111111000数值数据的反码表示数值数据的反码表示现在学习的是第26页,共42页解:解:(0 0 )反反 (0 0 )反反例例2.2.假设只用一个字节来表示一个整数,求假设只用一个字节来表示一个整数,求0 0和和0 0的反码表示的反码表示故可知:故可知:0 0的反码不唯一的反码不唯一00000000000000001111111111111111数值数据的反码表示数值数据的反码表示现在学习的
15、是第27页,共42页“补码补码”的原理的原理表示方法规定表示方法规定:1 1、正正数的补码、反码、原码数的补码、反码、原码相同相同.2 2、对于、对于负负数的补码,则将其数的补码,则将其最高位置为最高位置为 1 1,其余各,其余各位为对位为对原码的相应数据位取反原码的相应数据位取反,然后再对整个数,然后再对整个数加加1 1.数值数据的补码表示数值数据的补码表示现在学习的是第28页,共42页例例1 1 假设只用一个字节来表示一个整数,求假设只用一个字节来表示一个整数,求+7+7和和-7-7的补码的补码解:解:(7 )补)补00000111(7 )补)补11110001+111111001数值数据
16、的补码表示数值数据的补码表示现在学习的是第29页,共42页注意:零的补码表示是唯一的注意:零的补码表示是唯一的故故:(0 )补补00000000=(0 )补补 例例2.2.假设只用一个字节来表示一个整数,求假设只用一个字节来表示一个整数,求0 0和和0 0的补码表示的补码表示(0 )补补00000000(0 )补补11111111 1000000001进位自然舍去进位自然舍去 X为负数为负数时 x补补=x反反+1数值数据的补码表示数值数据的补码表示现在学习的是第30页,共42页十进制数十进制数 原码表示原码表示 反码表示反码表示 补码表示补码表示4 00000100 00000100 0000
17、01004 00000100 00000100 000001003 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 1
18、0000001 11111110 11111111-1 10000001 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)原原
20、=(-2)=(-2)1010显然不正确显然不正确问题出现在带符号位的负数问题出现在带符号位的负数 现在学习的是第32页,共42页为什么用补码为什么用补码如果用反码做减法:如果用反码做减法:(1 1)反反=00000001 =00000001 (-1-1)原原=11111110=11111110(00000001)(00000001)反反 +(11111110)+(11111110)反反 =(11111111)=(11111111)反反 =(-0)=(-0)有问题。有问题。如果用补码做减法:如果用补码做减法:(1)(1)补补=00000001 (-1)=00000001 (-1)补补=11111
21、111=11111111(00000001)补补+(11111111)+(11111111)补补 =(00000000)=(00000000)补补=(0)=(0)正确。正确。现在学习的是第33页,共42页例例3 3 假设只用一个字节来表示一个整数,求假设只用一个字节来表示一个整数,求+7-6+7-6的值的值 解解 :(7 7 )补)补0000011100000111 (6 6 )补)补1111101011111010 00000111+11111010 100000001进位自然舍去进位自然舍去为什么用补码为什么用补码现在学习的是第34页,共42页 对补码再求一次补,会得到该数的原码。对补码再
22、求一次补,会得到该数的原码。已知补码为:已知补码为:1111101011111010 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反反 有两种编码。有两种
24、编码。对补码再求一次补,会得到该数的原码对补码再求一次补,会得到该数的原码总结现在学习的是第37页,共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页