进制介绍及进制之间的转换
进制介绍
对于整数,有四种表示方式:
- 二进制:0,1,满2进一。以0b或者0B开头。
- 十进制:0-9,满10进一。
- 八进制:0-7,满8进一。以数字0开头。
- 十六进制: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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?