zoukankan      html  css  js  c++  java
  • 十进制转换二进制的简介方法

    十进制转换成二进制的时候,如果不用计算器是一件很麻烦的事情,需要不断地除以二然后在计算结果,这是一件很浪费时间的算法,现在我就告诉你们一种最简洁的算法;
    例1:把十进制133转换成二进制;
    先计算133由多少个2,4,8,16,32,64····相加所得,133=128+4+1  然后开始进行巧妙地运算,133由一个128一个4一个2相加所得,有没有发现这里面没有2,8,16,32?没有就对了哈哈!现在开始转换了,注意了,先从2开始,(133=128+4+2)中没有2,我们就记作0,里面有一个4,我们记1,里面没有8,16,32,64,我们需要记4个0,里面有一个128,我们再记1,然后把这些连到一起就是1100010,到了这里还没有完,下面也就是需要我们注意的事项,因为133转换成二进制是八位,我们需要在最后一位补0加1,把我们刚才得到的结果反过来然后在最后一位补0加1就变成了10000101,这就是正确的答案。
    133=1*1+2*0+4*1+8*0+16*0+32*0+64*0+128
        1   0   1   0   0    0    0    1
    反过来就是正确答案:10000101
    例2:把十进制78转换成二进制;
    用刚才的方法计算一下:
    78=1*0+2*1+4*1+8*1+16*0+32*0+64*1
       0   1   1   1   0    0    1
    反过来就是正确答案:1001110
    在转换的时候需要注意的事项:
    1、计算加法的时候一定要从最大的开始算起,比如133,构成133最大的一个数是128,所以就从128开始。
    2、位数问题:0~1    1位;
                 2~3    2位;
                 4~7    3位;
                 8~15   4位;
                15~31   5位;
                32~63   6位;
                64~127  7位;
               128~255  8位;
    用了这种方法是不是简单多了!哈哈!

  • 相关阅读:
    python学习(二十三) String(下) 分片和索引
    python学习(二十二) String(上)
    微服务网关
    【转】linux 软连接 硬链接
    设计模式--观察者模式
    设计模式--策略模式
    ubuntu-server 安装redis
    【转】linux的hostname修改详解
    【转】ftp的两种模式
    【转】linux下find查找命令用法
  • 原文地址:https://www.cnblogs.com/ngnetboy/p/7524940.html
Copyright © 2011-2022 走看看