03 进制转换详解

二进制转十六进制的详细步骤

一、进制转换详解

1. 二进制(Binary)↔ 十六进制(Hexadecimal)

核心逻辑:利用十六进制与二进制的天然对应关系(1 位十六进制 = 4 位二进制)。

二进制转十六进制
  • 步骤
    1. 从右往左将二进制数每 4 位 分组,不足 4 位时在左侧补 0
    2. 每组转换为对应的十六进制数(0-9对应0-910-15对应A-F)。
  • 示例
    • 二进制 10110101 → 分组为 1011 0101 → 十六进制 B5
    • 二进制 00001111 → 分组为 0000 1111 → 十六进制 0F
十六进制转二进制
  • 步骤
    1. 每位十六进制数转换为对应的 4 位二进制数(不足 4 位补前导0)。
    2. 合并所有二进制组。
  • 示例
    • 十六进制 3A → 30011A1010 → 二进制 00111010
    • 十六进制 FF → F1111F1111 → 二进制 11111111

2. 二进制(Binary)↔ 十进制(Decimal)

核心逻辑:二进制按权展开,十进制通过除法取余。

二进制转十进制
  • 步骤: 从右往左,每位二进制数乘以 2^nn为从 0 开始的位数索引),求和。
  • 公式
03 进制转换详解
  • 示例
    • 二进制 1011 → 1×2^3 + 0×2^2 + 1×2^1 + 1×2^0 = 8+0+2+1=11
十进制转二进制
  • 步骤
    1. 用十进制数除以 2,记录余数(必为01)。
    2. 重复除以2,直到商为0
    3. 余数逆序排列即为二进制数。
  • 示例
    • 十进制 23 → 除以 2 的余数序列:1, 1, 1, 0, 1(逆序后为 10111)。

3. 二进制(Binary)↔ 八进制(Octal)

核心逻辑:八进制与二进制的对应关系(1 位八进制 = 3 位二进制)。

二进制转八进制
  • 步骤
    1. 从右往左将二进制数每 3 位 分组,不足 3 位时在左侧补 0
    2. 每组转换为对应的八进制数(0-7)。
  • 示例
    • 二进制 1101011 → 分组为 011 010 11(补零为 001 101 011)→ 八进制 153
八进制转二进制
  • 步骤
    1. 每位八进制数转换为对应的 3 位二进制数(不足 3 位补前导0)。
    2. 合并所有二进制组。
  • 示例
    • 八进制 72 → 71112010 → 二进制 111010

4. 其他进制转换(间接法)

  • 十六进制 ↔ 十进制
    • 十六进制转十进制:按权展开(每位乘以 16^n)。 例:0x2A = 2×16^1 + 10×16^0 = 42
    • 十进制转十六进制:除以 16 取余,余数10-15对应A-F。 例:42 ÷ 16 = 210 → 十六进制 2A
  • 八进制 ↔ 十进制
    • 八进制转十进制:按权展开(每位乘以 8^n)。 例:075 = 7×8^1 + 5×8^0 = 61
    • 十进制转八进制:除以 8 取余。 例:61 ÷ 8 = 75 → 八进制 75

二、各进制应用场景

1. 二进制(Base 2)

  • 特点:仅用01,计算机底层物理实现简单(电路通断、电平高低)。
  • 应用场景
    • 计算机硬件(CPU 指令、内存存储)。
    • 逻辑运算(布尔代数、位操作)。
    • 通信协议(如 USB、以太网的底层信号)。
  • 缺点:位数长,人类可读性差,需借助十六进制 / 八进制简化。

2. 十六进制(Base 16)

  • 特点:1 位对应 4 位二进制,压缩二进制长度,便于书写和记忆。
  • 应用场景
    • 编程(内存地址、变量地址,如0x7FFFFFFF表示整数最大值)。
    • 颜色表示(如#FF0000代表红色,每两位对应 RGB 的一个分量)。
    • 固件开发(二进制文件的十六进制转储,如.hex文件)。
    • 加密 / 哈希(如 MD5、SHA 的结果以十六进制显示)。

3. 十进制(Base 10)

  • 特点:人类习惯的进制,符合十进制计数法。
  • 应用场景
    • 日常生活(货币、时间、数量)。
    • 非计算机领域的数学运算(如财务、科学计算)。
    • 程序中的输入输出(如用户输入的数字、打印结果)。

4. 八进制(Base 8)

  • 特点:1 位对应 3 位二进制,早期用于简化二进制表示(现已逐渐被十六进制取代)。
  • 应用场景
    • Unix/Linux 系统的文件权限(如755表示读、写、执行权限)。
    • 早期计算机系统(如 PDP-8,地址总线为 12 位,可表示为 4 位八进制数)。
    • 部分嵌入式系统的配置参数(少数保留场景)。

三、总结对比

进制基数核心用途转换关键技巧
二进制2计算机底层、逻辑运算分组(4 位→十六进制,3 位→八进制)
十六进制16简化二进制、内存地址、颜色码每位拆 / 合 4 位二进制
十进制10人类日常交互、非底层运算除基取余、按权展开
八进制8历史遗留系统、文件权限每位拆 / 合 3 位二进制

通过理解进制转换的规律和应用场景,可在编程、硬件开发、系统配置等场景中灵活切换进制,提升问题解决效率。

本网站原创文章版权归何大锤的狂飙日记所有。发布者:何大锤,转转请注明出处:何大锤的博客

(0)
何大锤的头像何大锤管理团队

相关推荐

  • 04 程序流程结构

    C/C++支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构 循环结构:依据条件是否满足,循环多次执行某段代码 顺序结构:程序按顺序执行,不发生跳转 选择结构:依据条件是否满足,有选择的执行相应功能 4.1 选择结构 4.1.1 if语句 作用:执行满足条件的语句 if语句的三种形式 示例: 注意:if条件表达式后不要加分号 示例: 示例: 嵌套if…

    2天前
    300
  • 初始C语言01

    0、什么是C语言? C语言是一门通用计算机编程语言,广泛应用于底层开发。C语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。尽管C语言提供了许多低级处理的功能,但仍然保持着良好跨平台的特性,以一个标准规格写出的C语言程序可在许多电脑平台上进行编译,甚至包含一些嵌入式处理器(单片机或称MC…

    3天前
    000
  • 01 你好Python

    一、课件

    3天前
    000
  • 03 运算符

    作用:用于执行代码的运算 本章我们主要讲解以下几类运算符: 运算符类型 作用 算术运算符 用于处理四则运算 赋值运算符 用于将表达式的值赋给变量 比较运算符 用于表达式的比较,并返回一个真值或假值 逻辑运算符 用于根据表达式的值返回真值或假值 3.1 算术运算符 作用:用于处理四则运算 算术运算符包括以下符号: 运算符 术语 示例 结果 + 正号 +3 3 …

    3天前
    200
  • 02 数据类型

    C++规定在创建一个变量或者常量时,必须要指定出相应的数据类型,否则无法给变量分配内存 数据类型存在意义:给变量分配合适的内存空间 2.1 整型 作用:整型变量表示的是整数类型的数据 C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同: 数据类型 占用空间 取值范围 short(短整型) 2字节 (-2^15 ~ 2^15-1) = -327…

    4天前
    300

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

联系我们

2211932694

在线咨询: QQ交谈

邮件:hdcblog1999@163.com

工作时间:周一至周五,9:30-18:30,节假日休息

关注微信
网站建设中ing......