zoukankan      html  css  js  c++  java
  • 二进制 八进制 十进制 十六进制的相互转换(精简总结)

    之前看到的都是铺垫这术语那术语的,看了半天,还不知道怎么处理。这里就根据各种文章和自己的理解总结一小下下,  不一定准确,省略一些概念等繁琐的陈述,直接上结论

    1.二进制转八进制:以小数点为分界线,各自向左向右 每3位组成一组,不够位数的自动向高位或向低位补0,然后把每组的数字转换为八进制数就可以了,小数点的位置不变。

    eg:(1101110.1011)2 分组后    (001)(101)(110).(101) (100) 然后把每组换算成8进制数就可以了(红色为补的0 (156.54)8

    逆向思维:八进制转二进制  把每一位八进制数变为3位二进制数就行了(别说你不会啊!~)(小数点的位置不变)

    2.二进制转十进制:按权相加法,即将二进制每位上的数乘以权,然后相加之和即是十进制数

    eg: (1101110.1011)2 变成加法  26+25+0+23+22+21+0 . 2-1+0+2-3+2-4   = 64+32+0+8+4+2+0 . 0.5+0+0.125+0.0625  =110.6875      (红色为小数点

     

    3.二进制转十六进制:以小数点为分界线,各自向左向右 每4位组成一组,不够位数的自动向高位或向低位补0,然后把每组的数字转换为十六进制数就可以了,小数点的位置不变。

    eg:(1101110.1011)分组后 (0110)(1110).(1011)然后把每组换算成16进制数就可以了红色为补的0)(6E.B)16

    逆向思维:十六进制转二进制  把每一位十六进制数变为4位的二进制数就行了(你会的!~)(小数点的位置不变)


    4.十进制转二进制:(恩!~这个有点麻烦!)

    分为 整数部分小数部分

    1)整数部分:除2取余法,即每次将整数部分除以2,余数为该位权上的数,而商继续除以2,余数又为上一个位权上的数,这个步骤一直持续下去,直到商为0为止,最后读数时候,从最后一个余数读起,一直到最前面的一个余数。(好长一句,就是不断的除2,余数留着,商继续除,一直除到商为0,把余数反向连起来就OK了)

    eg:110

          商     余数

    110/2        55     0

    55/2          27    1

    27/2         13     1

    13/2         6       1

    6/2          3        0

    3/2          1        1

    1/2         0        1       (这步记着哦~)

    此时商为0 了,把余数反向连起来1101110  (注意啊,跟示例2整数值是否一致呢。。。。!)

    2)小数部分:乘2取整法,即将小数部分乘以2,然后取整数部分,剩下的小数部分继续乘以2,然后取整数部分,剩下的小数部分又乘以2,一直取到小数部分 
    为零为止。如果永远不能为零,就同十进制数的四舍五入一样,按照要求保留多少位小数时,就根据后面一位是0还是1,取舍,如果是零,舍掉,如果是1,向入一位。换句话说就是0舍1入。读数要从前面的整数读到后面的整数(这句更长,分解一下,就是不断乘2,然后把整数留着,把剩下的小数继续乘2,一直到小数部分为0,把留下的整数部分顺序连起来就OK了!至于四舍五入的情况,你会遇到几次呢?呵呵!)

    eg:0.6875

                         整数      小数

    0.6875*2         1        .375

    0.375*2           0        .75

    0.75*2             1        .5

    0.5*2               1         0

    此时小数部分为0,把整数连起来1011(正序啊~)(注意啊,跟示例2小数数值是否一致呢。。。。!)

    到此该结束了。怎么样,高端大气上档次吧。恩~(那还有八进制转十进制、转十六进制 |  十进制转八进制、十六进制 | 十六进制转八进制、转十进制呢???)

    难道真要记住那些繁琐怪异凌乱变态的规则吗,一句话,剩下的全借二进制中转一下(当然你够厉害或者很** 就另当别论了,呵呵!)

    如有错误请指出,反正我也不一定改!

  • 相关阅读:
    设置 nextjs build 时,忽略 page 目录下相关文件
    Resource Override 之调试线上 js
    nodejs npm 基础命令
    禁止选择或禁止复制网页数据
    对上传的图片进行格式校验以及安全性校验
    docker 设置阿里云镜像加速
    JS 格式化输出时间
    dotnet core 实现 IActionResult
    win10 visual studio 设置默认管理员权限启动
    Windows 环境部署 RabbitMQ
  • 原文地址:https://www.cnblogs.com/seer/p/3393520.html
Copyright © 2011-2022 走看看