《计算机中常用的数制.ppt》由会员分享,可在线阅读,更多相关《计算机中常用的数制.ppt(36页珍藏版)》请在三一办公上搜索。
1、计算机中常用的数制,进位计数制,几种常见的进位计数制,各种进数值的转换,十进制,二进制,八进制,十六进制,进位计数制:,是一种科学的计数方法,它以累计和进位的方式进行计数,实现了很少的符号表示大范围数字的目的。,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,进位计数值的本质特征,累计到 10 进位,累计到 8 进位,累计到 2 进位,10进制,8进制,2进制,进位基数,进位基数决定了数的每一位的权限,两个概念,基数位权提示:按位权展开两种表示方法:脚标:(520)10(100.11)2(11.37)8(4F.B6)16 字母:520D 1
2、00.11B 11.37O 4F.B6H,特点:,用十个数码表示0、1、2、3、4、5、6、7、8、9,遵循“逢十进一”的规则,权展开式:,D=Dn-1 10n-1+Dn-2 10n-2+D0 100+D-1 10-1+D-m 10-m,例:将十进制数314.16写成展开式形式,解:,314.16,=,3,102,+,1,101,+,4,100,+,1,10-1,+,6,10-2,=,300+10+4+0.1+0.06,十进制数是人们最习惯使用的数值,在计算机中一般把十进制数作为输入输出的数据型式。,对任意一个n位整数和m位小数的十进制数D,可表示为:,特点:,用两个数码表示0、1,遵循“逢二
3、进一”的规则,权展开式:,D=Bn-1 2n-1+Bn-2 2n-2+B0 20+B-1 2-1+B-m 2-m,例:将二进制数(1101.01)2写成展开式形式,它代表多大的十进制数?,解:,(1101.01)2,=,1,23,+,1,22,+,0,21,+,1,20,+,0,2-1,=,8+4+0+1+0+0.25=(13.25)10,二进制数使用的数码少,只有0和1,用电器元件的状态来表示既方便有可靠,在计算机内部存储和运算中使用,运算简单,工作可靠。,对任何一个n位整数m位小数的二进制数,可表示为:,+,1,2-2,计算机可直接识别的进制,特点:,用八个数码表示0、1、2、3、4、5、
4、6、7,遵循“逢八进一”的规则,权展开式:,D=Qn-1 8n-1+Qn-2 8n-2+Q0 80+Q-1 8-1+Q-m 8-m,例:八进制数(317)8代表多大的十进制数?,解:,(317)8,=,3,82,+,1,81,+,7,80,=,192+8+7=(207)10,八进制接近十进制,且与二进制转换方便,常用来对二进制数的“缩写”,如:将()2写成(6715)8,便于对二进制数的表示和记忆。,对任何一个n位整数m位小数的八进制数,可表示为:,特点:,用十六个数码表示0、1、2、3、4、5、6、7、8、9、A、B、C、D、E、F,遵循“逢十六进一”的规则,权展开式:,D=Hn-1 16n
5、-1+Hn-2 16n-2+H0 160+H-1 16-1+H-m 16-m,例:十六进制数(3C4)16代表多大的十进制数?,解:,(3C4)16,=,3,162,+,12,161,+,4,160,=,(964)10,在表示同一量值时,十六进制数来的最短,如:将()2写成(DCD)16,且与二进制转换方便,因此十六进制数常用来在程序中表示二进制数或地址。,对任何一个n位整数m位小数的十六进制数,可表示为:,(1011.01)2,=,1,23,+,0,22,+,1,21,+,1,20,+,0,2-1,=,8+0+2+1+0+0.25=(11.25)10,+,1,2-2,(159)8,=,1,8
6、2,+,5,81,+,9,80,=,64+40+9=(113)10,(2A4)16,=,2,162,+,10,161,+,4,160,=,512+160+4=(676)10,友情提示,请理解并熟记常用进位计数制的表,非十进制数转换为十进制数方法:把各个非十进制数按权展开求和,将二进制数转换成十进制数,只需按权展开式做一次十进制运算即可。,十进制数,整数,小数,二进制数,十进制数转换为非十进制数,转换方法:,除2取余,直到商为0(基数除法),4 5,2,例:将十进数45转换成二进制数,2 2,2,1 1,2,5,2,2,2,1,2,0,余数,1,0,1,1,0,1,二进制的低位,二进制的高位,转
7、换结果:,(45)10=(101101)2,练习,121,2,练习1:将(121)10 转换成二进制数,60,2,30,2,15,2,7,2,3,2,1,余数,1,0,0,1,1,1,二进制的低位,二进制的高位,转换结果:,(121)10=(1111001)2,2,0,1,256,2,练习2:将(256)10 转换成二进制数,128,2,64,2,32,2,16,2,8,2,4,余数,0,0,0,0,0,0,二进制的低位,二进制的高位,转换结果:,(256)10=(100000000)2,2,2,0,2,2,1,0,0,1,转换方法:,乘2取整,直到积为整(即去整后为零基数乘法),例:将十进小
8、数0.8125转换成二进制数,0.8 1 2 5,2,1.6 2 5 0,1,分离整数,0.6 2 5,2,1.2 5 0,1,0.2 5,2,0.5 0,0,0.5,2,1.0,1,小数点.,二进制小数末位,转换结果:,(0.8125)10=(1101)2,练习,若恒不为0怎么办,按照精度要求,最后一位0舍1入,练习1:将(25.25)10转换成二进制数,25,2,12,2,6,2,3,2,1,2,0,1,0,0,1,1,转换结果:,(25.25)10,=(11001,0.2 5,2,0.5 0,0,0.5,2,1.0,1,.01)2,整数部分,小数部分,练习2:将(66.625)10转换成
9、二进制数,整数部分,66,2,33,2,16,2,8,2,4,2,2,2,1,0,1,0,0,0,0,2,0,1,转换结果:,(66.625)10,=(1000010,小数部分,0.6 2 5,2,1.2 5 0,1,0.2 5,2,0.5 0,0,0.5,2,1.0,1,.101)2,将10转8或16,1、直接转换2、先转成2再转成8或16,八进制数转成二进制数,23=8,1位八进值数恰好与3位二进制数相对应,“一位拆三位”,例:将八进制数(4675.21)8转换成二进制数,转换过程:,4 6 7 5.2 1,101,111,110,100,.010,001,转换结果:,(4675.21)8
10、,=()2,十六进制数转成二进制数,24=16,1位八进值数恰好与4位二进制数相对应,“一位拆四位”,例:将十六进制数(3ACD.A1)16转换成二进制数,转换过程:,3 A C D.A 1,1101,1100,1010,0011,.1010,0001,转换结果:,(3ACD.A1)16=()2,练习,将八进制数(2754.41)8转换成二进制数,转换过程:,2 7 5 4.4 1,100,101,111,010,.100,001,转换结果:,(2754.41)8,=()2,练习1,将十六进制数(5A0B.0C)16转换成二进制数,转换过程:,5 A 0 B.0 C,1011,0000,101
11、0,0101,.0000,1100,转换结果:,(5A0B.0C)16=(。000011)2,练习2,二进制数转成八进制数,“三位并一位”,例:将二进制数(1010110101.1011101)2 转换成八进制数,转换过程:,101,110,010,001,110,100,转换结果:,(1010110101.1011101)2=(1265.564)8,以二进制数小数点为中心,向两端每三位截成一组,然后每一组二进制数下写出对应的八进制数码,最高位或最低位不足时,用0补齐,并将小数点垂直落到八进制数中。,5,6,2,1,6,4,.101,.5,二进制数转成十六进制数,“四位并一位”,例:将二进制数
12、()2 转换成十六进制数,转换过程:,1011,0111,0101,0010,1100,转换结果:,()2=(57B.32C)16,以二进制数小数点为中心,向两端每四位截成一组,然后每一组二进制数下写出对应的十六进制数码,最高位或最低位不足时,用0补齐,并将小数点垂直落到十六进制数中。,B,7,5,2,C,.0011,.3,练习,将二进制数(1010111011.0010111)2 转换成八进制数,转换过程:,011,111,010,001,011,100,转换结果:,(1010110101.1011101)2=(1265.564)8,3,7,2,1,3,4,.001,.1,练习1,例:将二进
13、制数()2 转换成十六进制数,转换过程:,0101,1101,0010,0100,转换结果:,()2=(2D5.74)16,5,D,2,4,.0111,.7,练习2,二进制的运算规则,加减运算规则:逢N进一,借一当N请计算1011+1001=?1011x1001=?1100-101.11=?,二进制数的运算规则,数据在计算机中的表示,符号位“0”表示正、“1”表示负,有符号数的机器数表示,无符号位,定点数表示,浮点数表示,小数点,(110.011)2=1.100112+10=11001.12-10=0.1100112+11,N=数符尾数2阶符阶码,规格化的形式:0.1尾数的绝对值1唯一规定了小数点的位置。,数据在计算机中的表示,浮点数表示,尾数的位数决定数的精度,阶码的位数决定数的范围,计算机中数的表示(存储),尾数为绝对值小于1的纯小数,阶码为纯整数精度及取值范围由谁决定?0正,1负,编码,原码、反码、补码所有的正数均一致计算+1001010,-1001010,+-0?为何要用补码1、加减方便符号位能参与运算,0是唯一、符合运算规则,字符代码,ACSII码汉字编码,