进制转换方法

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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.二进制数与十六进制数的相互转换

相关文档
最新文档