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

进制间的映射关系

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

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


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

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

📌 举例说明:

比如数字 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.dtcms.com/a/300162.html

相关文章:

  • 2025牛客暑期多校第4场——G
  • Polyhedral Approaches in Combinatorial Optimization组合优化中的多面体方法(下)
  • Java实现大根堆与小根堆详解
  • 每日面试题15:如何解决堆溢出?
  • 如何检查服务器数据盘是否挂载成功?
  • Android-三种持久化方式详解
  • 【硬件-笔试面试题】硬件/电子工程师,笔试面试题-32,(知识点:模数转换器,信噪比,计算公式,)
  • 深入理解C语言快速排序与自省排序(Introsort)
  • 【每天一个知识点】GAN(生成对抗网络,Generative Adversarial Network)
  • Compose笔记(三十八)--CompositionLocal
  • 安卓学习记录1——持续更新ing
  • React组件中的this指向问题
  • 三防平板支持DMR对讲有什么用?实现高效集群调度
  • 如何理解“测试场景”与“测试要点”的区别和联系?
  • Linux系统架构核心全景详解
  • 从0到1学Pandas(六):Pandas 与数据库交互
  • KiCad 与 CircuitMaker 使用方法分享:从零开始学电子设计
  • JavaWeb(苍穹外卖)--学习笔记11(Filter(过滤器) 和 Interceptor(拦截器))
  • Windows开发,制作开发软件安装程序(一)
  • MySQL的底层原理--InnoDB数据页结构
  • 关于GateWay网关
  • 基于HMM的词性标注方法详解(HMM+Viterbi,例题分析)
  • 【专业扫盲】电压/电流反馈和串联/并联反馈
  • CSP2025模拟赛2(2025.7.26)
  • 机器人仿真(2)Ubuntu24.04下RTX5090配置IsaacSim与IsaacLab
  • Jenkins持续集成工具
  • swagger基本注解@Tag、@Operation、@Parameters、@Parameter、@ApiResponse、@Schema
  • (1-7-4) MySql 的高级查询
  • 20250726-2-Kubernetes 网络-Service 定义与创建_笔记
  • 【Spring Cloud】微服务学习