news 2026/5/26 7:19:09

计算机进制表示

作者头像

张小明

前端开发工程师

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/5/22 6:42:39

ComfyUI高级Redux控制:彻底掌握AI图像生成效果调节

ComfyUI_AdvancedRefluxControl是一个功能强大的开源项目,专门用于增强ComfyUI的Redux模型控制能力。该项目通过自定义节点实现了对Redux效果强度的精确调节,支持图像遮罩和非方形图像处理,让用户能够灵活控制最终图像的生成效果。无论你是想…

作者头像 李华
网站建设 2026/5/22 13:31:57

Gitee DevOps:信创时代企业数字化转型的引擎

Gitee DevOps:信创时代企业数字化转型的引擎 在信息技术应用创新产业快速发展的背景下,Gitee DevOps平台以其全面的技术适配能力和高效的研发流程管理,正在重塑企业数字化研发的新范式。作为国内领先的DevOps解决方案提供商,该平台…

作者头像 李华
网站建设 2026/5/20 15:42:56

直播平台运营管理真心话:可靠的直播系统开发搭建公司这么选

运营教你算明白账:选直播系统源码或定制开发比低价更重要的是长期盈利能力在直播行业蓬勃发展的今天,越来越多的创业者和企业希望搭建自己的直播平台。作为有过直播平台运营经验的管理者,您可能会遇到朋友或同行前来咨询:是该投入…

作者头像 李华
网站建设 2026/5/20 15:42:55

如何彻底释放AMD处理器潜能:RyzenAdj深度调优完整指南

如何彻底释放AMD处理器潜能:RyzenAdj深度调优完整指南 【免费下载链接】RyzenAdj Adjust power management settings for Ryzen APUs 项目地址: https://gitcode.com/gh_mirrors/ry/RyzenAdj 你是否曾经在使用AMD Ryzen处理器时感受到性能瓶颈?或…

作者头像 李华
网站建设 2026/5/24 23:05:01

P2692 覆盖

记录46 #include<bits/stdc.h> using namespace std; int main(){int a[5010]{},c[5010]{};int n,m,b,g,s,e,cnt0,cnt_x0;cin>>n>>m>>b>>g;while(b--){cin>>s>>e;for(int is;i<e;i) a[i]1;}while(g--){cin>>s>>e;fo…

作者头像 李华