Chinaunix首页 | 论坛 | 博客
  • 博客访问: 347188
  • 博文数量: 37
  • 博客积分: 1331
  • 博客等级: 少尉
  • 技术积分: 760
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-11 14:33
文章分类

全部博文(37)

文章存档

2015年(1)

2014年(4)

2013年(1)

2012年(2)

2011年(25)

2010年(4)

分类: WINDOWS

2011-11-04 17:01:18

二进制转十进制

原来方法:

从最后一位开始算,依次列为第0、1、2...位

第n位的数(0或1)乘以2的n次方

得到的结果相加就是答案

例如: 01101011转十进制:

第0位:1乘2的0次方=1

      1乘2的1次方=2

      0乘2的2次方=0

      1乘2的3次方=8

      0乘2的4次方=0

      1乘2的5次方=32

      1乘2的6次方=64

      0乘2的7次方=0

然后:1+2+0 +8+0+32+64+0=107.

二进制01101011=十进制107.

 

另类解法:

看到另类两个字,可能有人会有疑惑,大家可千万别认为这是种取巧,从而怀疑这种技巧的科学 性。技巧,也是根据理论知识科学地得出的。

在讲解这种“另类”方法之前,同学们先来看这样一个已知知识:数学中的进制即十进制数中,在一个数的整数部分的最右侧加0,每加一个0,这个数是前一个数的10倍,如25、250、2500...等等;在小数部分的最左侧每加一个0,这个数是前一个数的十分之一,如0.25、0.025、0.0025...等等

设想:二进制数中,在1的右侧(整数部分)或左侧(小数部分)每增加一个0,会是前一个 数的2倍或二分之一吗?

想想看:为什么只针对数码1来进行?

推理过程:.分别把整数部分和小数部分转换成十进制来进行比较,按“乘权求和”的规则进行转换

     整数部分:(1)2=(1)10;(10)2=(2)10;(100)2=(4)10;(1000)2=(8)10;(10000)2=(16)10..

     小数部分:(0.1)2=(0.5)10;(0.01)2=(0.25)10;(0.001)2=(0.125)10;(0.0001)2=(0.0625)10;0.00001)2=(0.03125)...

 

这些转换过程,令你忆起了数制概念中关于位和值的定义吗?同样的数在不同的位置所代表的值是不同的,称为位值(或权值)。现在明白它的含义了吗?这条,是下面转换的最直接的依据。

 

排列:1、2、4、8、16......     0.5、0.25、0.125、0.0625、0.03125......

结论:整数部分2倍;小数部分:二分之一即0.5倍

    以上就是这种“另类”解法的理论依据,它另类吗?好,我们现在就来看看这种另类的方法到底是怎样实现数制之间转换的。同样以二进制数转换为十进制数中的例子来看

(1101.011)2=(      )10

第一步:画出一串表示位的标记,如“×”,标记的多少根据题目中出现数字数目的多少而定,比方这个例子,整数部分有4位,小数部分三位,共7位.千万记得给小数点留个位置哦!

 

×

× 

× 

×

.

×

×

×

 

第二步:在相应的位上写上它所对应的值,值的大小整数部分从右到左依次为1、2、4、8、16...即后一个数是前一个数的2倍;小数部分从左到右依次为0.5、0.25、0.125、0.625...即后一个数是前一个数的0.5倍。

 

8

4

2

1

.

0.5

0.25

0.125

×

×

×

×

.

×

×

×

 

 

第三步:将二进制数按位写在标记的下文

 

8

4

2

1

.

0.5

0.25

0.125

×

×

×

×

.

×

×

×

1

1

0

1

.

0

1

1

 

 

第四步:将位值为“1”的标记上方的数字相加,即为二进制数所对应的十进制数

8 + 4  + 1 + 0.25 + 0.125 =13.375

即:(1101.011)2 = (13.375)10

在实际的换算过程中,同学们只要直接写出第三步,然后用第四步来得出相应结果就可以了。

你懂了其中的诀窍了吗?只要明白了其中的道理,这种转换其实很容易对吧?这样的数字游戏其实也很有趣,是吗

阅读(38936) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~