zoukankan      html  css  js  c++  java
  • 二进制、八进制、十进制及十六进制之间的转换

    1. 【二进制(0~1)、八进制(0~7)、十进制(0~9)】→十六进制(0~15,10~15之间的数用A~F表示)

    101011→1*20+1*21+0*22+1*23+0*24+1*25=1+2+0+8+0+32=43     //二进制转十进制

    053→3*80+5*81=3+40=43                        //八进制转十进制                                     

    0x2B=B*160+2*161=11+32=43                 //十六进制转十进制

    2. 十进制→【二、八、十六进制】

    //十进制转二进制   依次除以2直到除完为止 ,每除以2所得的余数,从后往前依次读取即为二进制数

     

    //十进制转八进制 796→01434

     

    //十→十六  796→0x31c

     

    3. 二进制→【八、十六进制】

    //二进制转八进制  

    11010111. 0100111→327.234    取三合一

    小数点前从右向左三位一组   0 1 1 0 1 0 1 1 1 →3 2 7

    小数点后从左向右三位一组   0 1 0 0 1 1 1 0 0 →2 3 4

    读数从高位到低位依次读取,小数点不变327.234

    二进制与八进制编码对应表

    二进制

    八进制

    000

    0

    001

    1

    010

    2

    011

    3

    100

    4

    101

    5

    110

    6

    111

    7

    //八进制转二进制  

    327→011010111  取一分三

     

    //二进制转十六进制 

    1 1 0 1 0 1 1 1→D 7   取四合一

    1101→13 (D)

    0111→7

    依次读取为D7

     

    //十六进制转二进制  取一分四

     

    4. 八进制→十六进制 

          八→二→十六    327→011010111→D7

     

    5. 十六进制→八进制  十六→二→八

     

    总结:

    1. 二、八、十六进制转十进制:将二进制数、八进制数、十六进制数的各位数字分别乘以各自基数的(N-1)次方,其相加之和便是相应的十进制数,这是按权相加法(按权相加)
    2. 十进制转其他进制:整数部分用除基取余法,小数部分用乘基取整法,然后将整数与小数部分拼接成一个数作为转换的最后结果(整数除基取余,小数乘基取整)
    3. 二进制转八进制:从小数点位置开始,整数部分向左,小数部分向右,每三位二进制为一组用一位八进制的数字来表示,不足三位的用0补足(取三合一)
    4. 八进制转二进制:与二进制转八进制相反(取一分三)
    5. 二进制转十六进制:从小数点位置开始,整数部分向左,小数部分向右,每四位二进制为一组用一位十六进制的数字来表示,不足四位的用0补足(取四合一)
    6. 十六进制转二进制:与二进制转十六进制相反(取一分四)
    7. 八进制转十六进制:通常将八进制转换成二进制,然后通过二进制再转换成十六进制(八→二→十六)
    8. 十六进制转八进制:通常将十六进制转换成二进制,然后通过二进制再转换成八进制(十六→二→八)

  • 相关阅读:
    字符数组+数组复习
    C语言博客作业05-指针
    C语言博客作业04 数组
    C语言博客作业03 函数
    Java与C# socket通信
    JDBC复制数据库(sqlite)
    mysql Connector/net不能更新或删除(转载)
    MATLAB回归、插值、逼近、拟合【转载】
    前端请求RestController发送数据方法汇总
    elementUI el-input 输入框 设置高度和宽度
  • 原文地址:https://www.cnblogs.com/Carolinee/p/5289944.html
Copyright © 2011-2022 走看看