zoukankan      html  css  js  c++  java
  • 二进制转十进制

    原来方法:

    从最后一位开始算,依次列为第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

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

  • 相关阅读:
    自动生成 serialVersionUID 的设置
    常见的HTTP状态码(HTTP Status Code)说明
    PowerDesigner 创建表格及导出SQL语句
    简历
    idea+Maven+SSM框架增删改查
    @Resource和@Autowired的区别
    SSM java.lang.NullPointerException
    多进程和多线程的优缺点(二)
    多进程和多线程的优缺点
    基于swoole扩展实现真正的PHP数据库连接池
  • 原文地址:https://www.cnblogs.com/zcwvictor-2012/p/3446771.html
Copyright © 2011-2022 走看看