前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >软件设计师速通其一:计算机内部数据表示

软件设计师速通其一:计算机内部数据表示

作者头像
Qiuner
发布于 2025-04-29 14:33:25
发布于 2025-04-29 14:33:25
11900
代码可运行
举报
文章被收录于专栏:杂烩杂烩
运行总次数:0
代码可运行

计算机大概认识

进制转化

任意进制与十进制转化
二进制转化为十六进制

计算机内数据表示

原码、反码、补码与移码
  • 在这里机器字长为八位,八位字长被分为一位符号位和七位数值位。符号位在开头,符号位为0则这个数是正数。
image-20250427215117489
image-20250427215117489
  • 正数反码不变,负数方码取反
image-20250427215308625
image-20250427215308625
  • 正数依然不变,负数补码为反码末尾加一。
image-20250427220416441
image-20250427220416441
image-20250427220605652
image-20250427220605652
  • 原码反码取值范围相同,补码移码范围相同

内容

原码

反码

补码

移码

定义

符号位加上数值的绝对值的二进制表示

正数同原码,负数符号位不变,数值位取反

正数同原码,负数符号位不变,数值位取反后+1

在补码基础上符号位取反(正数+0,负数+2^(n-1))

适用范围

人类阅读和理解

中间过渡形式,计算机减法运算中使用

计算机内部统一的运算编码

浮点数阶码表示

处理符号

符号位0表示正数,1表示负数

同原码

同原码

移码后符号位为0(统一为无符号数)

主要特点

直观,便于理解

负数仅数值位取反

解决了0有两种表示(+0、-0)的问题

便于浮点数大小比较

数值大小关系

与实际值一致

正负数对应位逐位相反

补码可直接用于加减运算

符号位统一,按无符号数处理

假设以8位二进制表示数值**-5**:

编码方式

二进制表示

说明

原码

1 0000101

符号位1表示负,后面是5的二进制

反码

1 1111010

数值部分取反(0变1,1变0)

补码

1 1111011

反码基础上加1

移码

0 1111011

补码符号位取反(符号位0表示偏移后正数)

为什么要有这么多码?★
  • 因为计算机只有用电流通过与否表示的0和1,使用一堆0与1想要算数,就需要上面各种码。比如原码的反码相加,可以求除两者相减的结果,其他码也是如此

计算:5−3

  • 5 的原码:0 0000101 → 反码:0 0000101(正数反码同原码)
  • 3 的原码:0 0000011 → -3的反码:1 1111100

然后进行加法:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
  0 0000101
+ 1 1111100
------------
  0 0000001 (产生了进位,回补进位)
+         1
------------
  0 0000010

定点数与浮点数

image-20250427221010069
image-20250427221010069

定点整数: 如8位定点整数,可以表示 −128∼127(补码表示)。

定点小数(也叫定点小数格式、定点小数点位置): 例如固定小数点在第4位,数值 0001.0100 表示 1.25。 小数点位置固定,程序或硬件内部默认,不需单独存储小数点

  • 6.75=1.1011×2^2

其中:

  • 尾数(M):1.1011
  • 基数(R):2(表示该数为二进制数)
  • 阶码(E):2

校验码★★

  • 奇偶校验的意思就是添加一位校验位,然后统计除校验位以外的01个数。对于奇校验:如果1的个数是偶数,则校验位为1,使总数变成奇数;如果1的个数已经是奇数,则校验位为0,保持为奇数。
  • CRC算法示例

假设我们使用一个简单的CRC-8算法,生成多项式为:

待校验数据为 101101,我们将数据与多项式做CRC计算。

  • 步骤:
    1. 数据101101与8个零一起构成 10110100000000(这就是填充后的数据)。
    2. 用CRC多项式做除法,计算余数。
    3. 余数就是CRC校验码。

接收方接收到数据后,进行相同的操作,检查余数。如果余数为零,则数据无错误;否则说明数据发生了错误。

海明码★★★
image-20250427223107958
image-20250427223107958
  • 海明码作用与关系是重点
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2025-04-28,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 计算机大概认识
  • 进制转化
    • 任意进制与十进制转化
    • 二进制转化为十六进制
  • 计算机内数据表示
    • 原码、反码、补码与移码
      • 为什么要有这么多码?★
  • 定点数与浮点数
  • 校验码★★
    • 海明码★★★
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档