本文目录导读:

进制转换的核心原理是“按权展开”(其他进制转十进制)和“除基取余”(十进制转其他进制),下面我用最通俗的方式,把常用的几种转换方法拆解给你看。
核心概念:理解“权”和“基数”
- 基数:就是这种进制有多少个数字符号。
- 二进制:0和1 → 基数 = 2
- 八进制:0-7 → 基数 = 8
- 十进制:0-9 → 基数 = 10
- 十六进制:0-9,A-F(A=10,B=11...F=15)→ 基数 = 16
- 权:就是每个数字位置代表的“重量”,从右往左数,第N位的权就是 基数 的 (N-1) 次方。
- 十进制的
123,右边的3在个位(权=10⁰),中间的2在十位(权=10¹),左边的1在百位(权=10²)。
- 十进制的
实战技巧与工具
手动计算(理解原理)
其他进制 → 十进制(按权展开相加)
- 二进制转十进制:
1011(二进制) = 1×2³ + 0×2² + 1×2¹ + 1×2⁰ = 8 + 0 + 2 + 1 = 11 (十进制) - 八进制转十进制:
27(八进制) = 2×8¹ + 7×8⁰ = 16 + 7 = 23 (十进制) - 十六进制转十进制:
1F(十六进制) = 1×16¹ + 15×16⁰ = 16 + 15 = 31 (十进制)
十进制 → 其他进制(除基取余法)
- 十进制转二进制:把十进制数不断除以2,记录余数,最后将余数从下往上倒序排列。
- 例:把
19转二进制 19 ÷ 2 = 9 余 1 9 ÷ 2 = 4 余 1 4 ÷ 2 = 2 余 0 2 ÷ 2 = 1 余 0 1 ÷ 2 = 0 余 1 → 倒序排列:10011(二进制)
- 例:把
- 十进制转八进制:同理,不断除以8,记录余数(0-7)。
- 十进制转十六进制:同理,不断除以16,记录余数(0-15,10用A,11用B...15用F)。
二进制与八进制、十六进制的快速互转(分组法)
- 二进制 → 八进制:从右向左,每3位二进制数为一组,直接转换为一位八进制数。
- 例:二进制
11010111→ 分组:11 010 111→ 补0:011 010 111→ 每组转换:3 2 7→ 八进制:327
- 例:二进制
- 二进制 → 十六进制:从右向左,每4位二进制数为一组,直接转换为一位十六进制数。
- 例:二进制
11010111→ 分组:1101 0111→ 每组转换:13 7→ 十六进制:D7
- 例:二进制
- 八进制/十六进制 → 二进制:反过来,每一位展开成3位(八进制)或4位(十六进制)即可。
使用工具(高效准确)
对于日常使用,直接使用工具是最快、最不容易出错的方式。
-
系统自带计算器(Windows/macOS)
- Windows:打开“计算器”APP → 点击左上角“☰” → 选择“程序员”模式,可以选择HEX(十六进制)、DEC(十进制)、OCT(八进制)、BIN(二进制),输入数字会自动转换。
- macOS:打开“计算器”APP → 点击顶部菜单栏“显示” → 选择“程序员”。
-
在线转换网站
- 搜索 “进制转换器” 可以找到很多在线工具,tool.chinaz.com 或 rapidtables.com,它们通常支持多种进制(包括三进制、五进制等非常见进制)。
-
编程语言
-
Python:
# 其他进制转十进制 print(int("1011", 2)) # 输出 11 (二进制转十进制) print(int("1F", 16)) # 输出 31 (十六进制转十进制) # 十进制转其他进制 print(bin(19)) # 输出 0b10011 (二进制,前面的0b是前缀) print(hex(31)) # 输出 0x1f (十六进制) print(oct(19)) # 输出 0o23 (八进制) -
JavaScript:
// 其他进制转十进制 console.log(parseInt("1011", 2)); // 输出 11 console.log(parseInt("1F", 16)); // 输出 31 // 十进制转其他进制 console.log((19).toString(2)); // 输出 '10011' console.log((31).toString(16)); // 输出 '1f'
-
避坑指南
- 字母大小写:十六进制中,
A-F不区分大小写,但建议统一使用大写(如0x1F)。 - 前缀标识:
- 二进制常用
0b前缀(如0b1011,编程中常见)。 - 十六进制常用
0x前缀(如0x1F)。 - 八进制常用
0前缀(如027),但有些场合会用0o或0O。
- 二进制常用
- 负数和小数:上面的方法默认针对正整数,负数通常用补码表示,小数则用乘基取整法,处理起来稍复杂一些,但这超出了基础转换的范畴。
一句话记住
- 转十进制:按权展开相加(
1011= 1×8+0×4+1×2+1×1 = 11)。 - 十进制转其他:除以基数取余,倒序排列(19除以2取余,倒序得
10011)。 - 终极偷懒法:打开电脑计算器的“程序员”模式。
你可以试着用数字验证一下: 1101 (二进制) → 按权展开 = 8+4+0+1 = 13 (十进制) → 用计算器/代码验证。
标签: 进制转换
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播
英超直播