• 进制互转,你想要的这都有


    一、整数互转

    1.1 十进制转二进制

    转换规则:将十进制整数一直除以2,记录余数,如果结果不为0,继续将结果除以2,记录的余数从下往上就是2进制整数。

    整数10转2进制示例:

    除数 被除数 结果 余数
    10 2 5 0
    5 2 2 1
    2 2 1 0
    1 2 0 1

    余数从下往上的结果为:1010

    1.2 二进制转十进制

    转换公式:S = a × 2^0 + b × 2^1 + c × 2^2 + d × 2^3 + ……

    公式说明:a、b、c、d表示二进制从低位到高位对应的数值,其中2的指数从0开始递增。

    二进制整数1010转化十进制示例:

    S = 0 × 1 + 1 × 2 + 0 × 4 + 1 × 8 = 10

    1.3 十进制转八进制

    转换规则同十进制转二进制,但被除数为8

    1.4 八进制转十进制

    转换公式:S = a × 8^0 + b × 8^1 + c × 8^2 + d × 8^3 + ……

    公式基本和二进制转十进制一致,但乘方的底数为8

    1.5 十进制转十六进制

    十六进制用数字0到9和字母A到F(或af)表示,其中:AF表示10~15

    转换规则同十进制转二进制,但被除数为16

    1.6 十六进制转十进制

    转换公式:S = a × 16^0 + b × 16^1 + c × 16^2 + d × 16^3 + ……

    公式基本和二进制转十进制一致,但乘方的底数为16

    二、小数互转

    2.1 十进制转二进制

    转换规则:乘2取整,即将十进制小数乘2后,取整数部分,循环直至小数部分为0或满足相应精度结束。

    示例:

    示例一:
    0.375 × 2 = 0.75	取 0
    0.75 × 2 = 1.5		取 1
    0.5 × 2 = 1.0		取 1
    从上往下获取结果:0.011
    
    示例二:
    0.95 × 2 = 1.9 		取 1
    0.9 × 2 = 1.8		取 1
    0.8 × 2 = 1.6 		取 1
    0.6 × 2 = 1.2 		取 1
    0.4 × 2 = 0.8 		取 0
    0.8 × 2 = 1.6 		取 1
    0.6 × 2 = 1.2 		取 1
    0.4 × 2 = 0.8 		取 0
    结果约等于0.11110110,因为循环,只能得到约等结果。
    

    2.2 二进制转十进制

    转换公式:S = a × 2^-1 + b × 2^-2 + c × 2^-3 + d × 2^-4 + ……

    公式说明:a、b、c、d表示二进制小数从高位到低位对应的数值,其中2的指数从-1开始递减。

    二进制小数0.011转十进制小数示例:

    S = 0 × 1/2 + 1 × 1/4 + 1 × 1/8 = 0.375

    2.3 十进制转八进制

    转换规则:乘8取整,即将十进制小数乘8后,取整数部分,循环直至小数部分为0或满足相应精度结束。

    示例参考小数十进制转二进制

    2.4 八进制转十进制

    转换公式:S = a × 8^-1 + b × 8^-2 + c × 8^-3 + d × 8^-4 + ……

    公式基本和二进制转十进制一致,但乘方的底数为8

    2.5 十进制转十六进制

    转换规则:乘16取整,即将十进制小数乘16后,取整数部分,循环直至小数部分为0或满足相应精度结束。

    示例参考小数十进制转二进制

    2.6 十六进制转十进制

    转换公式:S = a × 16^-1 + b × 16^-2 + c × 16^-3 + d × 16^-4 + ……

    公式基本和二进制转十进制一致,但乘方的底数为16

    三、其他进制互转

    3.1 二与八互转

    • 二转八

      转换规则:

      整数部分:从低位到高位,每三位二进制数合成一位八进制数,高位不足三位者补0

      小数部分:从高位到低位,每三位二进制数合成一位八进制数,低位不足三位者补0

      示例:(1001001.1101)2=(001 001 001.110 100)2=(111.64)8

    • 八转二

      转换规则:每一位八进制数展成三位二进制数

      示例:(423.45)8=(100 010 011.100 101)2

    3.2 二与十六互转

    • 二转十六

      转换规则:

      整数部分:从低位到高位,每四位二进制数合成一位十六进制数,高位不足四位者补0

      小数部分:从高位到低位,每四位二进制数合成一位十六进制数,低位不足四位者补0

      示例:(101101101001011.01101)2=(0101 1011 0100 1011.0110 1000)2=(5B4B.68)16

    • 十六转二

      转换规则:每一位十六进制数展成四位二进制数

      (ABCD.EF)16=(1010 1011 1100 1101.1110 1111)2

    原文地址:https://leisure.wang/procedural-framework/solution/706.html

  • 相关阅读:
    git 提交解决冲突(转载)
    impala系列: 时间函数
    impala系列: 字符串函数
    Impala系列: Impala常用的功能函数
    impala系列:impala特有的操作符
    impala系列: 同步Hive元数据和收集统计信息
    ETL脚本的版本管理方法和 SourceTree 使用
    几本不错的数据仓库和Hadoop书籍
    Kudu系列-基础
    sql parser
  • 原文地址:https://www.cnblogs.com/itoak/p/13386031.html
Copyright © 2020-2023  润新知