进制运算补充

进制标记

  • 二进制:只包含0和1,通常用下标2或前缀0b(0B)表示
    • 如:11012、0b0011、0B101
  • 八进制:包含0~7,通常用下标8或前缀0、0o、0O表示
    • 如:2378、0123、0o105、0O77
  • 十进制:包含0~9,可以用下标10表示,默认无特殊前缀,极特殊情况0d开头
    • 如:25510、777、0d222
  • 十六进制:只包含0和1,通常用下标16或前缀0x(0X)、#表示,汇编语言中以后缀H结尾标记且开头非数字时补0
    • 如:A3F16、0xA3F、#A3F、0A3FH、3AFH

十进制转二进制(带小数)

  • 将十进制数126.375转换成二进制数
  • 整数部分正常转换:126->1111110
  • 小数部分反复乘以基数(二进制基数为2),获取整数部分,直到归零
    • 0.375✖️2=0.75(整数部分0)
    • 0.75✖️2=1.5(整数部分1)
    • 0.5✖️2=1.0(整数部分1,小数归零)0.375->0.011
  • 126.375->1111110.011

二进制转十进制(带小数)

  • 将二进制数1110.0101转换成十进制数
  • 整数部分正常转换:1110->14
  • 小数部分除以基数的k次方(k从1开始从左向右递增),求和
    • 0 1 0 1
    • 0➗21+1➗22+0➗23+1➗24=0+0.25+0+0.0625=0.3125
  • 110.0101->14.3125