进制介绍及进制之间的转换

进制介绍
对于整数,有四种表示方式:

  1. 二进制:0,1,满2进一。以0b或者0B开头。
  2. 十进制:0-9,满10进一。
  3. 八进制:0-7,满8进一。以数字0开头。
  4. 十六进制:0-9及A(10)-F(15),满16进一。以0x或者0X开头表示,此处的A-F不区分大小写。

进制之间的转换

  • 二进制转十进制
    方法:从最低位(右边)开始,将每个位上的数字提取出来,乘以2的(位数-1)次方,然后求和。
    案例:0b1011 = 1×2的0次方 + 1×2的1次方 + 0×2的2次方 + 1×2的3次方 = 11

  • 八进制转十进制
    方法:从最低位(右边)开始,将每个位上的数字提取出来,乘以8的(位数-1)次方,然后求和。
    案例:0234 = 4×8的0次方 + 3×8的1次方 + 2×8的2次方 = 156

  • 十六进制转十进制
    方法:从最低位(右边)开始,将每个位上的数字提取出来,乘以16的(位数-1)次方,然后求和。
    案例:0x23A = A×16的0次方 + 3×16的1次方 + 2×16的2次方 = 570

  • 十进制转二进制
    方法:将该数不断除以2,直到商为0为止,然后将每步得到的余数倒过来,就是对应的二进制。
    案例:34 = 0b00100010,(备注:因为一个字节有8位,所以在转成二进制的时候要在得到的结果前面补上0凑够8位)

  • 十进制转八进制
    方法:将该数不断除以8,直到商为0为止,然后将每步得到的余数倒过来,就是对应的八进制。
    案例:131 = 0203

  • 十进制转十六进制
    方法:将该数不断除以16,直到商为0为止,然后将每步得到的余数倒过来,就是对应的十六进制。
    案例:237 = 0xED

  • 二进制转八进制
    方法:从低位开始,将二进制数每三位一组,转成对应的八进制即可。
    案列:0b11010101 = 0325
    101 = 1×2的0次方 + 0×2的1次方 + 1×2的2次方 = 5
    010 = 2;11 = 3
    然后从左到右依次写下来(加上八进制的开头)就OK了。

  • 二进制转十六进制
    方法:从低位开始,将二进制数每四位一组,转成对应的十六进制即可。
    案例:0b11010101 = 0xD5
    0101 = 1×2的0次方 + 0×2的1次方 + 1×2的2次方 + 0×2的3次方 = 5
    1101 = 13——>D
    然后从左到右依次写下来(加上十六进制的开头)就OK了。

  • 八进制转二进制
    方法:将八进制数每一位,转成对应的一个3位的二进制数即可。
    案例:0237 = 0b10011111
    7 = 111

  • 十六进制转二进制
    方法:将十六进制数的每一位,转成对应的4位的一个二进制数即可。
    案例:0x23B = 0b 0010 0011 1011

posted @   YhFei  阅读(99)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示