软考知识点

二进制(B)、八进制(O)、十进制(D)、十六进制(H)

一.基本概念

  • 二进制 :基数为2,数码0、1,后缀B(如101B)。

  • 八进制 :基数为8,数码0-7,后缀O(如76O)。

  • 十进制 :基数为10,数码0-9,后缀D(常省略,如123)。

  • 十六进制 :基数为16,数码0-9、A-F(A=10, B=11, ..., F=15),后缀H(如3FH)。

二、核心转换方法

1. 十进制 → 其他进制(R进制)

方法:除R取余,逆序排列 (整数部分);乘R取整,顺序排列(小数部分,若涉及)。

  • 整数转换示例 :十进制25转二进制、八进制、十六进制

    • 转二进制(R=2):

      25 ÷ 2 = 12 余 1→ 12 ÷ 2 = 6 余 0→ 6 ÷ 2 = 3 余 0→ 3 ÷ 2 = 1 余 1→ 1 ÷ 2 = 0 余 1

      逆序余数:11001B

    • 转八进制(R=8):

      25 ÷ 8 = 3 余 1→ 3 ÷ 8 = 0 余 3

      逆序余数:31O

    • 转十六进制(R=16):

      25 ÷ 16 = 1 余 9→ 1 ÷ 16 = 0 余 1

      逆序余数:19H

2. 其他进制(R进制)→ 十进制

方法:按权展开求和 (权为R^n,n从0开始,整数部分从右往左数,小数部分从左往右数)。

  • 示例1 :二进制11001B转十进制

    1×2^4 + 1×2^3 + 0×2^2 + 0×2^1 + 1×2^0 = 16 + 8 + 0 + 0 + 1 = 25D

  • 示例2 :八进制31O转十进制

    3×8^1 + 1×8^0 = 24 + 1 = 25D

  • 示例3 :十六进制19H转十进制

    1×16^1 + 9×16^0 = 16 + 9 = 25D

3. 二进制 ↔ 八进制/十六进制(快捷转换)

利用分组法 (因为8=2^3,16=2^4,二进制位数与八/十六进制位数有固定倍数关系):

  • 二进制 → 八进制 :从右往左,每3位二进制一组,不足补0,每组对应1位八进制数码。

    示例:11001B→ 补0为011 001→ 每组转八进制:3 1→ 31O

  • 二进制 → 十六进制 :从右往左,每4位二进制一组,不足补0,每组对应1位十六进制数码。

    示例:11001B→ 补0为0001 1001→ 每组转十六进制:1 9→ 19H

  • 八进制/十六进制 → 二进制:反向操作,1位八/十六进制数码对应3/4位二进制数码。

    示例:31O→ 3=011,1=001→ 011001B;19H→ 1=0001,9=1001→ 00011001B

4. 八进制 ↔ 十六进制

间接转换:通过二进制或十进制中转(优先用二进制更快捷)。

示例:31O→ 11001B→ 19H

三、常见软考考点

  1. 快速计算 :如2^n对应的十进制值(2^10=1024,2^16=65536等,常考内存容量计算)。

  2. 小数转换 :若涉及小数部分(如0.625D转二进制),用"乘2取整,顺序排列":

    0.625×2=1.25 取整1→ 0.25×2=0.5 取整0→ 0.5×2=1.0 取整1→ 0.101B。

  3. 负数表示 :原码、反码、补码(初级软考可能涉及基础概念,如+5和-5的补码表示)。

    • 补码规则:正数补码=原码;负数补码=反码+1(反码=原码符号位不变,其余位取反)。

      示例:8位二进制中,-5的原码10000101→ 反码11111010→ 补码11111011。

四、练习例题

  1. 十进制42转二进制、八进制、十六进制:

    • 二进制:101010B;八进制:52O;十六进制:2AH。
  2. 十六进制3E7H转十进制:

    3×16² + 14×16¹ +7×16⁰ = 768 + 224 +7 = 999D。

  3. 二进制101101.11B转十进制:

    1×2^5 +0×2^4 +1×2^3 +1×2^2 +0×2^1 +1×2^0 +1×2^-1 +1×2^-2 = 32+8+4+1+0.5+0.25=45.75D。

五、原码(True Form)

定义:符号位+数值的绝对值(最简单的编码)。

  • 正数:符号位0+ 数值二进制(如+5的8位原码:00000101)。

  • 负数:符号位1+ 数值绝对值的二进制(如-5的8位原码:10000101)。

特点:

  • 直观,但不利于计算机运算(如+5 + (-5)的原码相加:00000101 + 10000101 = 10001010,结果为-10,错误)。

  • 存在+0和-0两种零表示(8位原码中00000000是+0,10000000是-0)。

六、反码(One's Complement)

定义:原码的"符号位不变,数值位取反"。

  • 正数:反码=原码(如+5的8位反码:00000101)。

  • 负数:符号位1+ 数值位逐位取反(0变1,1变0,如-5的原码10000101→反码11111010)。

特点:

  • 解决了原码部分运算问题,但仍存在+0和-0(8位反码中00000000是+0,11111111是-0)。

  • 运算时需注意"循环进位"(若最高位有进位,需加到最低位,如+5 + (-5)的反码相加:00000101 + 11111010 = 11111111,即-0)。

七、补码(Two's Complement)

定义 :反码+1(计算机中唯一实际使用的有符号数编码,解决了原码、反码的缺陷)。

  • 正数:补码=原码=反码(如+5的8位补码:00000101)。

  • 负数:反码+1(如-5的反码11111010+1 → 补码11111011)。

快速计算负数的补码:

原码符号位不变,从右往左找到第一个1,其右侧数值位不变,左侧数值位取反(如-5原码10000101→找到右数第1个1在第1位,右侧无位,左侧数值位00001取反为11110→补码11111011)。

特点:

  • 零唯一 :8位补码中0只有00000000(-0的补码11111111 +1 = 100000000,溢出后取8位为00000000)。

  • 运算直接 :加减法统一为加法(无需判断符号,如+5 + (-5)的补码相加:00000101 + 11111011 = 100000000,溢出舍去高位,结果为00000000(0))。

  • 表示范围更大 :n位补码的表示范围为-2^(n-1) ~ 2^(n-1)-1(如8位补码:-128 ~ +127,而原码/反码是-127 ~ +127)。

八.中央处理器

  • 组成:运算器(ALU、AC、DR、PSW)+ 控制器(PC、IR、ID、时序)+ 寄存器组

  • 功能:指令控制、操作控制、时间控制、数据加工、中断处理

  • 性能指标:主频、时钟周期、CPI、IPS、CPU时间 = 指令数 × CPI × 时钟周期

  • 流水线:

    • 分段并行(取指→译码→执行→写回)

    • 周期 = 最慢段耗时

    • 执行 n 条总时间 = (段数 + n - 1) × 周期

  • 易混:PC(下条指令地址)≠ IR(当前指令);PSW 存状态标志;Cache 属存储系统但常联动考

九.子网划分

  • IP 地址 :点分十进制,32 位二进制;由网络位 + 主机位组成

  • 默认分类:

    • A 类:0.0.0.0~127.255.255.255,掩码 255.0.0.0(/8)

    • B 类:128.0.0.0~191.255.255.255,掩码 255.255.0.0(/16)

    • C 类:192.0.0.0~223.255.255.255,掩码 255.255.255.0(/24)

  • 子网划分核心 :借主机位 当子网位,掩码变长(如 /24→/26)

  • 子网掩码作用 :1 为网络位,0 为主机位;与 IP 按位与得子网地址​

  • 关键公式:

    • 子网数 = 2^借位位数(去掉全0全1时可减少)

    • 每子网主机数 = 2^剩余主机位 - 2(去掉网络地址和广播地址)

  • 地址计算:

    • 块大小 = 256 - 掩码某段值(如 255.255.255.192 → 块 64)

    • 子网地址 = IP 所在块起始值

    • 广播地址 = 下一子网起始 - 1

    • 可用主机 = 子网地址+1 ~ 广播地址-1

  • CIDR:无类域间路由,形如 IP/前缀长度(如 192.168.1.0/26)

  • 常考:给定 IP+掩码求网络地址/广播/可用范围;按主机数或子网数算掩码

相关推荐
吹什么轩1 小时前
linux系统复习:全景串联
linux·运维·服务器
Elastic 中国社区官方博客1 小时前
5 分钟内将 56 页扫描文档转化为带引用的答案:面向搜索无法读取的文档的检索增强生成流水线
大数据·运维·人工智能·elasticsearch·搜索引擎·信息可视化·全文检索
John_Hui2 小时前
第 1 篇:VMware 安装 Ubuntu 24.04.3 Server
linux·运维·ubuntu
Lzg_na2 小时前
数据链路层差错控制使用的算法详解
网络
努力努力再努力wz2 小时前
【C++ 高阶系列】C++ 高性能网络编程:当 Reactor 遇见协程:从 epoll 回调到异步 MySQL,彻底打通任务挂起与恢复
网络·c++·mysql
长不大的杨瑞杰2 小时前
OpenCode v2 团队治理实战:多仓库 Policy、灰度发布与故障回滚
运维·人工智能·安全·软件工程·devops
loulanyue_2 小时前
当AI学会自主攻击与渗透破壁:Agent行为链失控与Mythos级攻防颠覆下的安全范式重构——读CNCC2026第六届网络生态治理论坛实录
网络·人工智能·安全
开开心心就好3 小时前
本地文件搜索工具,双击Ctrl就能呼出搜索
java·服务器·前端·支持向量机·ffmpeg·音视频·模拟退火算法
2401_868534783 小时前
英语演讲:麻省理工校长2024年毕业典礼演讲
服务器·网络
ByteCoder.3 小时前
班前十分钟的清单,按体检引导单来写
java·服务器·前端·助播虾