news 2026/4/18 7:27:26

计算机进制表示

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
计算机进制表示

1.进制的表示

  • 二进制(Binary):基数为2,使用0、1两个数码
前缀表示法:0b 或 0B(现代编程语言) c 0b1011, 0B1100, 0b11111111 后缀表示法:B 或 b text 1011B, 1100b, 11111111B
  • 八进制(Octal):基数为8,使用0-7八个数码
前缀表示法:0(数字0开头) c 017, 0237, 0777 注意:这是C语言家族的标准,0开头的数字会被解析为八进制 后缀表示法:O 或 Q(避免与数字0混淆) text 17O, 237Q, 777Q 历史原因:早期用O作后缀,但易与数字0混淆,后来有些系统改用Q
  • 十六进制(Hexadecimal):基数为16,使用0-9、A-F十六个数码
前缀表示法:0x 或 0X(C/C++/Java等语言常用) c 0x18F, 0XAB3, 0xFF 后缀表示法:H 或 h(汇编语言、书面表示常用) assembly 18FH, 0FFh, A3Bh 注意:以字母开头的十六进制数加后缀H时,前面要加0,如0A3BH避免与标识符混淆
  • 十进制(Decimal)
无前缀后缀(默认) 或以D、d结尾(明确表示时) text 123, 456D, 789d

2.R进制整数转10进制

好的,我来详细讲解R进制整数转10进制的方法,这是软考必考的计算题。

2.1.按权展开法

公式

\[ \text{十进制值} = a_n \times R^n + a_{n-1} \times R^{n-1} + \cdots + a_1 \times R^1 + a_0 \times R^0 \]

其中

  • ( R ) = 进制基数(二进制R=2,八进制R=8,十六进制R=16)
  • ( a_i ) = 第i位的数字
  • ( n ) = 最高位的位置(从0开始计数)

2.2 分步计算法

步骤1:确定每位数字的权重

权重 = ( R^{\text{位置}} )

  • 位置编号:从右向左,从0开始
  • 最右边是第0位,权重是 ( R^0 = 1 )
  • 向左依次:第1位权重 ( R^1 ),第2位权重 ( R^2 )…
步骤2:数字×权重

将每位数字乘以对应的权重

步骤3:求和

把所有乘积相加,得到十进制结果

示例1:二进制转十进制

题目:(1101)₂ = (?)₁₀

计算过程

位数: 1 1 0 1 位置: 3 2 1 0 ← 从右向左编号 权重: 2³ 2² 2¹ 2⁰ ← 计算权重 =8 =4 =2 =1 计算:1×8 + 1×4 + 0×2 + 1×1 = 8 + 4 + 0 + 1 = 13

答案:(1101)₂ = 13


示例2:八进制转十进制

题目:(237)₈ = (?)₁₀

计算过程

位数: 2 3 7 位置: 2 1 0 权重: 8² 8¹ 8⁰ =64 =8 =1 计算:2×64 + 3×8 + 7×1 = 128 + 24 + 7 = 159

答案:(237)₈ = 159


示例3:十六进制转十进制

题目:(1A3)₁₆ = (?)₁₀
注意:A=10, B=11, C=12, D=13, E=14, F=15

计算过程

位数: 1 A 3 值: 1 10 3 ← 字母转数值 位置: 2 1 0 权重:16² 16¹ 16⁰ =256 =16 =1 计算:1×256 + 10×16 + 3×1 = 256 + 160 + 3 = 419

答案:(1A3)₁₆ = 419

3. 10进制整数转R进制

3.1 除基取余法

口诀除R取余,逆序排列

具体步骤:
  1. 除以R:用十进制数除以基数R
  2. 记录余数:记录每次除法的余数
  3. 商作为新的被除数:用商继续除以R
  4. 重复直到商为0
  5. 逆序排列:将余数从最后到最前排列

分步计算示例

示例1:十进制转二进制(R=2)

题目:29₁₀ = (?)₂

计算过程

步骤 除法 商 余数 1 29 ÷ 2 = 14 ... 1 ↑ 2 14 ÷ 2 = 7 ... 0 ↑ 逆序排列 3 7 ÷ 2 = 3 ... 1 ↑ 4 3 ÷ 2 = 1 ... 1 ↑ 5 1 ÷ 2 = 0 ... 1 ↑

余数逆序排列:11101
答案:29₁₀ = 11101₂


示例2:十进制转八进制(R=8)

题目:125₁₀ = (?)₈

计算过程

步骤 除法 商 余数 1 125 ÷ 8 = 15 ... 5 ↑ 2 15 ÷ 8 = 1 ... 7 ↑ 逆序排列 3 1 ÷ 8 = 0 ... 1 ↑

余数逆序排列:175
答案:125₁₀ = 175₈


示例3:十进制转十六进制(R=16)

题目:300₁₀ = (?)₁₆
注意:余数10-15要转为A-F

计算过程

步骤 除法 商 余数 十六进制 1 300 ÷ 16 = 18 ... 12 C ↑ 2 18 ÷ 16 = 1 ... 2 2 ↑ 逆序排列 3 1 ÷ 16 = 0 ... 1 1 ↑

余数逆序排列:12©, 2, 1 → 12C₁₆
答案:300₁₀ = 12C₁₆

4.m进制转n进制

先将m进制转化为十进制数,再将十进制数转化为n进制数,中间需要通过十进制中转
但下面两种进制间可以直接转化

分组替换法

4.1.二进制 → 八进制(3位分组)

原理:1位八进制 = 3位二进制(因为8=2³)

步骤

  1. 分组:从小数点开始,向左和向右每3位一组
  2. 补零:最左或最右一组不足3位时补0
  3. 转换:每组3位二进制直接转换为1位八进制

示例:二进制1101011.1011转八进制

分组:从小数点开始 整数部分: 1 101 011 ↓ ↓ ↓ 补零: 001 101 011 ↓ ↓ ↓ 八进制: 1 5 3 小数部分: 101 1 ↓ ↓ 补零: 101 100 ↓ ↓ 八进制: 5 4 结果:153.54₈

4.2.二进制 → 十六进制(4位分组)

原理:1位十六进制 = 4位二进制(因为16=2⁴)

步骤

  1. 分组:从小数点开始,向左和向右每4位一组
  2. 补零:最左或最右一组不足4位时补0
  3. 转换:每组4位二进制直接转换为1位十六进制

示例:二进制1101011.1011转十六进制

分组:从小数点开始 整数部分: 110 1011 ↓ ↓ 补零: 0110 1011 ↓ ↓ 十六进制: 6 B 小数部分: 1011 ↓ 补零: 1011 ↓ 十六进制: B 结果:6B.B₁₆

4.3 快速转换表(必须熟记)

4.3.1.二进制-八进制对照表
二进制八进制
0000
0011
0102
0113
1004
1015
1106
1117
4.3.2.二进制-十六进制对照表
二进制十六进制二进制十六进制
0000010008
0001110019
001021010A
001131011B
010041100C
010151101D
011061110E
011171111F

4.4 特殊技巧

技巧1:利用8421码

对于十六进制转换,可以快速心算:

1101 = 8+4+0+1 = 13 = D 1010 = 8+0+2+0 = 10 = A
技巧2:验证技巧

转换后可以简单验证:

  • 八进制每位最大是7(对应二进制111)
  • 十六进制每位最大是F(对应二进制1111)

4.5 逆转换:八/十六进制转二进制

4.5.1.八进制 → 二进制

每位八进制扩展为3位二进制

八进制:3 7 5 . 2 4 二进制:011 111 101 . 010 100 简化:11111101.0101₂
4.5.2.十六进制 → 二进制

每位十六进制扩展为4位二进制

十六进制:A 9 . F C 二进制:1010 1001 . 1111 1100 简化:10101001.111111₂
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/18 7:04:17

机器数和真值以及定点表示法

1.机器数 机器数 是指一个数在计算机内部的二进制表示形式数字化符号:用 0 表示正号(),用 1 表示负号(-)。这个符号位通常放在二进制序列的最高位(对于定点数)。位数固定&#xff1a…

作者头像 李华
网站建设 2026/4/16 17:27:40

双模式推理+4bit量化:Qwen3-30B-A3B如何重新定义企业级AI效率

双模式推理4bit量化:Qwen3-30B-A3B如何重新定义企业级AI效率 【免费下载链接】Qwen3-30B-A3B-MLX-4bit 项目地址: https://ai.gitcode.com/hf_mirrors/Qwen/Qwen3-30B-A3B-MLX-4bit 导语 阿里巴巴通义千问团队发布的Qwen3-30B-A3B-MLX-4bit模型&#xff0c…

作者头像 李华
网站建设 2026/4/17 8:48:03

eLabFTW深度探索:解锁实验室管理的7大核心能力

eLabFTW深度探索:解锁实验室管理的7大核心能力 【免费下载链接】elabftw :notebook: eLabFTW is the most popular open source electronic lab notebook for research labs. 项目地址: https://gitcode.com/gh_mirrors/el/elabftw 在科研数据爆炸式增长的时…

作者头像 李华
网站建设 2026/4/16 16:33:46

Gitee DevOps:信创生态下的研发效能革命

Gitee DevOps:信创生态下的研发效能革命 在数字化转型浪潮席卷全球的当下,Gitee DevOps平台正以其独特的技术优势重构企业级研发效能体系。作为国内首个全面适配信创技术生态的DevOps解决方案,该平台已成功帮助数百家企业实现研发流程的智能化…

作者头像 李华
网站建设 2026/4/18 3:29:12

借力低代码平台,高校人才培养锚定企业需求靶向

高等教育与前沿技术正在实现深度融合。低代码技术作为数字化转型的重要推动力,为高校人才培养模式创新提供了全新路径。让学生在校期间即可掌握企业级应用开发能力。北京中烟创新科技有限公司(简称:中烟创新)研发的灯塔低代码平台…

作者头像 李华