进制转换方法
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
信息的编码
再问学生计算机存储信息是不是都采用了二进制数?二进制也存在缺点,二进制都用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-1
1)、二进制转换为十进制
各数制中整数部分不同位的权为“基的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)10
2. 十进制转换成N进制:整数部分(除基取余法)不断除以N直到商为0,再把各次的余数倒排;小数部分(乘基取整法)不断乘以N直到小数部分为0,再把各次的整数顺排。
十进制转换为二进制
十进制整数转换为二进制整数采用"除2取余,逆序排列"法。具体做法是:用十进制整数去除2,可以得到一个商和余数;再用商去除2,又会得到一个商和余数,如此进行,直到商为0时为止,逆序排列余数
小数采用"乘2取整,顺序排列"法。具体做法是:用2乘十进制小数,可以得到积,将积的整数部分取出,再用2乘余下的小数部分,又得到一个积,再将积的整数部分取出,如此进行,直到积中的小数部分为零,此时0或1为二进制的最后一位。或者达到所要求的精度为止。
【例1】将(236)D转换成二进制。
转换过程如图1所示。
如(0.8125D)转成二进制的过程是:
0.8125D×2=1.625 得整数部分:1
0.625D×2=1.25 得整数部分:1
0.25D×2=0.5 得整数部分:0
0.5D×2=1.0 得整数部分:1
所以 0.8125D=0.1101B
十进制转换成8进制、16进制,与转成2进制的方法相同,但基数是8或16!十进制转换成八进制有两种方法:
①整数部分
方法:除8取余法,即每次将整数部分除以8,余数为该位权上的数,而商继续除以8,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数起,一直到最前面的一个余数。
②小数部分
方法:乘8取整法,即将小数部分乘以8,然后取整数部分,剩下的小数部分继续乘以8,然后取整数部分,剩下的小数部分又乘以8,一直取到小数部分为零为止。如果永远不能为零,就同十进制数的四舍五入一样,暂取个名字叫3舍4入。
例:将十进制数796.703125转换为八进制数
解:先将这个数字分为整数部分796和小数部分0.703125
796.703125转换八进制为1434.55
十进制小数转换成16进制
整数部分(除基取余法)不断除以16直到商为0,再把各次的余数倒排;小数部分(乘基取整法)不断乘以16直到小数部分为0或纯小数部分再把各次的整数顺排。
小数部分:
把十进制小数转换成16进制小数所采用的规则是“乘以16取整数”。方法是用16乘以十进制纯小数,将其结果的整数部分记录,这就是对应的第n位小数;再用16乘以余下的纯小数部分,再去掉其结果的整数部分;如此类推,直到余下的纯小数为0或满足所要求的精度为止。
例:0.7D=?H
0.7*16=11.2 记录11,并转换为16进制 11D=BH
0.2*16=3.2 记录3,转换3D=3H,注:这里的被除数0.2就是上一步的纯小数部分
0.2*16=3.2 循环了。。。
所以,0.7D=0.B3333333H
二进制转换为八进制
转换方法:从小数点开始,将二进制数的整数和小数部分每三位分为一组,不足三位的分别在整数的最高位前和小数的最低位后加“0”补足,然后每组用等值的八进制码替代,即得八进制数。
例:(11010111.0100111)2 = (327.234)8
2.二进制数与十六进制数的相互转换