zoukankan      html  css  js  c++  java
  • 进制转换

    对于整数,有四种表示方式:

    1) 二进制: 0, 1, 满2进1。
      在golang中,不能直接使用二进制来表示一个整数,它沿用了C 的特点。

    2) 十进制: 0 - 9,满10进1。

    3) 八进制: 0 - 7,满8进1。以数字0开头表示。

    4) 十六进制: 0 - 9及A - F,满16进1。以0x或0X开头表示。
      此处的A - F 不区分大小写。
      如: 0x21AF +1= 0x21B0

    例子:

    func main() {

      var i int = 5
      //二进制输出
      fmt.Printf("%b ", i) //输出的结果是: 101   //5的二进制就是101

      //八进制: 0-7,满8进1,以数字0开头表示
      var j int = 011   // 011 ==> 9
      fmt.Println("j=", j)   //9

      //十六进制:0-9及A-F,满16进1,以0x或0X开头表示
      var k int = 0x11   // 0x11 ==> 16 + 1 = 17
      fmt.Println("k=", k)   //17
    }

    其它进制转换成十进制:


    二进制转换成十进制:

    规则:从最低位开始(右边的),将每个位上的数提取出来,乘以2的(位数-1)次方,然后求和。

    案例:请将二进制:1011转成十进制的数

    1011 = 1 * 1 + 1 * 2 + 0 * 2 * 2 + 1 * 2 * 2 * 2 = 1 + 2 + 0 + 8 = 11

    八进制转换成十进制实例:

    规则:从最低位开始(右边的),将每个位上的数提取出来,乘以8的(位数-1)次方,然后求和。

    案例:请将0123转成十进制的数

    0123 = 3 * 1 + 2 * 8 + 1 * 8 * 8 = 3 + 16 + 64 = 83


    16进制转换成十进制实例:

    规则:从最低位开始,将每个位上的数提取出来,乘以16的(位数-1)次方,然后求和。

    案例:请将0x34A 转换成十进制的数

    0x34A = 10 * 1 + 4 * 16 + 3 * 16 * 16 = 10 + 64 + 768 = 842

    十进制转换成其它进制:

    十进制转换成二进制

    规则:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。

    案例:请将56转成二进制

    56对应的二进制位111000

    十进制转换成八进制

    规则:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制。

    案例:请将156转成八进制

    十进制转换成十六进制:

    规则:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。

    案例:请将356转成十六进制

    二进制转换其它进制:

    二进制转换成八进制:

    规则:将二进制数每三位一组(从低位开始组合),转成对应的八进制数即可。

    案例:请将二进制:11010101 转成八进制

    11010101 = 0325


    二进制转换成十六进制:

    规则:将二进制数每四位一组(从低位开始组合),转成对应的十六进制数即可。

    案例:请将二进制: 11010101 转成十六进制

    11010101 = 0xD5


    课后练习:

    请将二进制:11100101转成八进制

    11100101 = 0345

    请将二进制:1110010110转成十六进制

    1110010110 = 0x396


    八进制转换成二进制:

    规则:将八进制数每1位,转成对应的一个3位的二进制数即可。

    案例:请将0237转成二进制

    0237 = 10011111

    十六进制转换成二进制:

    规则:将十六进制数每1位,转成对应的一个4位的二进制数即可。

    案例:请将0x237转成二进制

    0x237 = 1000110111

  • 相关阅读:
    inline-block 文字与图片不对齐
    js去除数组重复项
    react2
    kfaka windows安装
    sigar 监控服务器硬件信息
    Disruptor
    Servlet 3特性:异步Servlet
    jvmtop 监控
    eclipse如何debug调试jdk源码
    一致性hash算法
  • 原文地址:https://www.cnblogs.com/green-frog-2019/p/11342988.html
Copyright © 2011-2022 走看看