当前位置: 首页 > ds >正文

进制间的映射关系

✅ 问题一:为什么不同进制之间会有特定的映射关系

✅ 问题二:为什么八进制和十六进制可以被看作是二进制的简化形式


🔍 一、为什么不同进制之间有特定的映射关系?

这是因为 所有进制本质上只是表示数的不同方式,它们都代表相同的数值,只是写法不同。

📌 举例说明:

比如数字 10(十进制),它表示的是:

  • 二进制:1010
  • 八进制:12
  • 十六进制:A

它们虽然写法不同,但都表示同一个数量

🧠 数学原理:

每种进制的每一位都有一个“权值”,这个权值是 基数的幂次。例如:

进制表示方式权值展开式数值
十进制101×101+0×1001×10^1 + 0×10^01×101+0×10010
二进制10101×23+0×22+1×21+0×201×2^3 + 0×2^2 + 1×2^1 + 0×2^01×23+0×22+1×21+0×208 + 0 + 2 + 0 = 10
八进制121×81+2×801×8^1 + 2×8^01×81+2×808 + 2 = 10
十六进制A10×16010×16^010×16010

所以,映射关系的本质是:不同进制对同一个数值的不同表示方式


🔍 二、为什么八进制和十六进制是二进制的“简化形式”?

这是因为在计算机系统中,二进制太长、太繁琐,而八进制和十六进制可以更简洁地表示二进制数据

✅ 1. 八进制(Octal)与二进制的关系

  • 每个八进制位 = 3 位二进制
  • 因为 23=82^3 = 823=8,所以三位二进制刚好可以表示 0 到 7 这 8 个数字。
📌 示例:
二进制(3位)八进制
0000
0011
0102
0113
1004
1015
1106
1117
📌 举例:
  • 二进制 110110111 分组:110 110 111 → 八进制 667

✅ 2. 十六进制(Hexadecimal)与二进制的关系

  • 每个十六进制位 = 4 位二进制
  • 因为 24=162^4 = 1624=16,所以四位二进制可以表示 0 到 15 的所有数字。
📌 示例:
二进制(4位)十六进制
00000
00011
1010A
1011B
1100C
1101D
1110E
1111F
📌 举例:
  • 二进制 110110111100 分组:1101 1011 1100 → 十六进制 DBC

🧠 总结:为什么会有这些映射关系?

原因说明
统一表示数量所有进制都是对同一个数值的不同表示方式
计算机底层是二进制计算机使用 0 和 1 表示一切数据
八进制、十六进制简化二进制每 3 位(八进制)或 4 位(十六进制)可以表示一组二进制,更简洁
便于人类理解程序员和工程师更容易记住和操作 FF 而不是 11111111

📌 举个生活中的类比:

你可以把进制想象成不同语言对同一个词的翻译

  • 英语:cat
  • 中文:猫
  • 法语:chat
  • 日语:猫(ねこ)

它们写法不同,但表达的都是“猫”这个概念。就像:

  • 二进制:1010
  • 十进制:10
  • 十六进制:A

它们写法不同,但表示的都是数量 10


二进制与其他进制的映射

二进制 (Base-2)八进制 (Base-8)十进制 (Base-10)十六进制 (Base-16)
0000
1111
10222
11333
100444
101555
110666
111777
10001088
10011199
10101210A
10111311B
11001412C
11011513D
11101614E
11111715F
http://www.xdnf.cn/news/16523.html

相关文章:

  • 【RHCSA 问答题】第 12 章 安装和更新软件包
  • WorkManager vs Flow 适用场景分析
  • CSS变量与Houdini自定义属性:解锁样式编程新维度
  • [硬件电路-94]:模拟器件 - 信号耦合,让被放大信号与静态工作点的直流偏置信号完美的融合
  • 慧星云新增大模型服务:多款大模型轻松调用
  • 编程语言Java——核心技术篇(四)集合类详解
  • Go的内存管理和垃圾回收
  • 震网(Stuxnet):打开潘多拉魔盒的数字幽灵
  • 网络:基础概念
  • React入门指南——指北指南(第二节)
  • 深入浅出学习 KNN 算法:从原理到数字识别实践
  • 【简述】C++11/14/17/20/23 中的关键新特性
  • 从UX到AX:从“设计路径”到“共创关系”的范式革命——Agentic Experience如何重塑未来产品哲学
  • 秋招Day19 - 分布式 - 限流
  • 数据科学与大数据技术专业的核心课程体系及发展路径全解析
  • 从0开始学linux韦东山教程Linux驱动入门实验班(5)
  • 基于华为ENSP的OSPFLSA深入浅出-0
  • 元宇宙新基建:重塑数字市场的“超大陆”边界
  • LeetCode 895:最大频率栈
  • 6G通感算
  • 利用DeepSeek解决kdb+x进行tpch测试的几个问题及使用感受
  • 阿里开源Qwen3-Coder,编程大模型进入高效时代
  • [Python] -进阶理解7- Python中的内存管理机制简析
  • 详解Aerospike数据库在Linux系统上的安装流程
  • Django项目开发技巧
  • MySQL相关概念和易错知识点(2)(表结构的操作、数据类型、约束)
  • 零基础学习性能测试第三章:jmeter线程组组合
  • Matrix Theory study notes[5]
  • ​​XSLT:XML转换的“魔法棒”​
  • 用Java实现rpc的逻辑和流程图和核心技术与难点分析