信息的编码再问学生计算机存储信息是不是都采用了二进制数?二进制也存在缺点,二进制都用0和1,而且位数太多,不易理解,也易出错。为描述方便常用八、十进制,十六进制数表示二进制数在微机中,一般在数字的后面,用特定字母表示该数的进制。十进制:日常生活中最常见的是十进制数,用十个不同的符号来表示:0、1、2、3、4、5、6、7、8、9。基为:10运算规则:逢十进一,借一当十在十进制数的后面加大写字母D以示区别。二进制:二进制数只有两个代码“0”和“1”,所有的数据都由它们的组合来实现。基为:2运算规则:“逢二进一,借一当二”的原则。在八进制数据后加英文字母“B”八进制:使用的符号:0、1、2、3、4、5、6、7;运算规则:逢八进一;基为:8在八进制数据后加英文字母“O”,十六进制:使用的符号:采用0~9和A、B、C、D、E、F六个英文字母一起共十六个代码。运算规则:逢十六进一基为:16在十六进制数据后加英文字母“H”以示分别。那么二进制数与八进制、十进制,十六进制数是怎么转换的呢?3、协作提高:用讲解法对二进制数与十进制数、十六进制数之间相互的转换的原理及方法(将二进制数字表示的位权值与十进制数字表示的位权值加以对比),叫几位学生到黑板上来做,其它同学在下面草稿纸上做。观察在黑板上做的同学的对错情况,要知道错,错在那里。由N进制数转换成十进制数的基本做法是,把N进制数首先写成加权系数展开式,然后按十进制加法规则求和。这种做法称为按权相加法。各数制的权如:十进制中,各位的权为10n-1二进制中,各位的权为2n-1十六进制中,各位的权为16n-1八进制中,各位的权为8n-11)、二进制转换为十进制各数制中整数部分不同位的权为“基的n-1次方(n为数值所在的位数,n的最小值取1)”,小数部分不同位的权值为“基的-n次方,从左向右,每移一位,幂次减1”。二进制数的基数为2例(10110.011)2=()D作法:1×24+0×23+1×22+1×21+0×20+0×2-1+1×2-2+1×2-3=(22.375)D八进制转换为十进制与二进制方法相同,只是八进制的基数为8(1011)8=1×83+0×82+1×81+1×80=(521)10十六进制转换为十进制二进制方法相同,只是十六进制的基数为16(1011)16=1×163+0×162+1×161+1×160=(4113)102.十进制转换成N进制:整数部分(除基取余法)不断除以N直到商为0,再把各次的余数倒排;小数部分(乘基取整法)不断乘以N直到小数部分为0,再把各次的整数顺排。十进制转换为二进制十进制整数转换为二进制整数采用除2取余,逆序排列法。具体做法是:用十进制整数去除2,可以得到一个商和余数;再用商去除2,又会得到一个商和余数,如此进行,直到商为0时为止,逆序排列余数小数采用乘2取整,顺序排列法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。【例1】将(236)D转换成二进制。转换过程如图1所示。(236)D=(11101100)B如(0.8125D)转成二进制的过程是:0.8125D×2=1.625得整数部分:10.625D×2=1.25得整数部分:10.25D×2=0.5得整数部分:00.5D×2=1.0得整数部分:1所以0.8125D=0.1101B十进制转换成8进制、16进制,与转成2进制的方法相同,但基数是8或16!十进制转换成八进制有两种方法:①整数部分方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。②小数部分22362118……………0259……………0229……………1214……………127……………023……………121……………10……………1二进制数的低位二进制数的高位方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。例:将十进制数796.703125转换为八进制数解:先将这个数字分为整数部分796和小数部分0.703125796.703125转换八进制为1434.55十进制小数转换成16进制整数部分(除基取余法)不断除以16直到商为0,再把各次的余数倒排;小数部分(乘基取整法)不断乘以16直到小数部分为0或纯小数部分再把各次的整数顺排。小数部分:把十进制小数转换成16进制小数所采用的规则是“乘以16取整数”。方法是用16乘以十进制纯小数,将其结果的整数部分记录,这就是对应的第n位小数;再用16乘以余下的纯小数部分,再去掉其结果的整数部分;如此类推,直到余下的纯小数为0或满足所要求的精度为止。例:0.7D=?H0.7*16=11.2记录11,并转换为16进制11D=BH0.2*16=3.2记录3,转换3D=3H,注:这里的被除数0.2就是上一步的纯小数部分0.2*16=3.2循环了。。。所以,0.7D=0.B3333333H二进制转换为八进制转换方法:从小数点开始,将二进制数的整数和小数部分每三位分为一组,不足三位的分别在整数的最高位前和小数的最低位后加“0”补足,然后每组用等值的八进制码替代,即得八进制数。例:(11010111.0100111)2=(327.234)82.二进制数与十六进制数的相互转换由于16=24,所以在将二进制数转换成十六进制数时,从小数点开始,将二进制数的整数和小数部分每四位分为一组,不足四位的分别在整数的最高位前和小数的最低位后加“0”补足,然后每组用等值的十六进制码替代,即得目的数。十六进制数转换成二进制数时正好相反,一位十六进制数用四位二进制数来替换。对于有小数的数,要分小数和整数部分处理。例:(111011.10101)2=(3B.A8)H八进制转成十六进制可先转成二进制再转成十六进制给出转换表让学生熟记二进制的运算法则算术运算:加法:0+0=0,0+1=1,1+0=1,1+1=0减法:0-0=0,1-0=1,1-1=0,0-1=1乘法:0*0=0,0*1=0,1*0=0,1*1=1除法:0÷0=00÷1=01÷01÷1=1二进制0000000100100011010001010110011110001001101010111100110111101111十进制0123456789101112131415八进制012345671011121314151617十六进制0123456789ABCDEF位运算与:0and0=0,0and1=0,1and0=0,1and1=1或:0or0=0,0or1=1,1or0=1,1or1=1非:not0=1,not1=0异或:0xor0=0,0xor1=1,1xor0=1,1xor1=04、巩固提高:,用一定量的习题进行巩固,及时发现问题,及时纠正。(12.25)10=(1100.01)2(10011)2=(19)10(10110101110.11011)2=(2656.66)8(6237.431)8=(110010011111.100011001)2(101001010111)2=(A57.DA1)16(3AB.11)16=(1110101011.00010001)2(73)8=(3B)16(11010)2=()8=()16=()10(0.010)2=()10=()8=()16(43)8=()2=()10(a2)16=()8=()25、比较下面最大的是:A(110100)2B(63)8C(54)10D(35)16六、反思1、对十进制转化为二进制数,求余数是正数,有的同学理解的不是很好。2、对二进制数、十六进制数转化为十进制数时,采用是按权展开相加法,但小学里的数学高中生会做错。七、总结通过本节课的学习,让学生掌握二进制数、十进制数、十六进制数的相互转化。记住方法:除二取余法,先余为低,后余为高。按权展开相加法中,对权值的理解等,以后让学生多一些表现的机会。