当前位置: 首页 > news >正文

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

  • 考试资料推荐 ,这也是大部分图片的出处。本文章主要将视频原本讲的不详细、不便于理解的东西摆开揉碎了给到读者。相信本文能帮您更好更快的学习知识。本文也是您考前快速复习的不二之选。
  • 本文会用星星来表示每个考点的重要性,其中一颗★表示课外拓展,两颗★★表示了解,三颗★★★表示重点。没有星表示重点之下,了解之上。

考试介绍

考试时间与网址

image-20250410164819450

名称级别所属考试考试形式考试时间
软件设计师中级资格全国计算机技术与软件专业技术资格(水平)考试计算机化考试上半年:5月 下半年:11月
  • 报名网址 一般三四月份报名

考试内容

image-20250410165959614

image-20250410165842426

  • 详细内容可见 哔哩哔哩视频

计算机大概认识

image-20250410170256402

进制转化

任意进制与十进制转化

image-20250426092815753

image-20250426092934480

二进制转化为十六进制

image-20250426093035016

计算机内数据表示

image-20250426095319798

image-20250426095404247

原码、反码、补码与移码

image-20250426100134126

  • 在这里机器字长为八位,八位字长被分为一位符号位和七位数值位。符号位在开头,符号位为0则这个数是正数。

image-20250427215117489

  • 正数反码不变,负数方码取反

image-20250427215308625

  • 正数依然不变,负数补码为反码末尾加一。

image-20250427220416441
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

然后进行加法:

  0 0000101
+ 1 1111100
------------0 0000001 (产生了进位,回补进位)
+         1
------------0 0000010

定点数与浮点数

image-20250427221010069

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

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

image-20250427221408110

  • 6.75=1.1011×2^2

其中:

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

校验码★★

image-20250427222222322

image-20250427222511569

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

  • CRC算法示例

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

image-20250427223008720

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

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

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

海明码★★★

image-20250427223107958

  • 海明码作用与关系是重点

img

你好,我是Qiuner. 为帮助别人少走弯路而写博客 这是我的 github https://github.com/Qiuner⭐ gitee https://gitee.com/Qiuner 🌹

如果本篇文章帮到了你 不妨点个吧~ 我会很高兴的 😄 (^ ~ ^) 。想看更多 那就点个关注吧 我会尽力带来有趣的内容 😎。

代码都在github或gitee上,如有需要可以去上面自行下载。记得给我点星星哦😍

如果你遇到了问题,自己没法解决,可以去我掘金评论区问。私信看不完,CSDN评论区可能会漏看 掘金账号 https://juejin.cn/user/1942157160101860 掘金账号

更多专栏:
  • 📊 一图读懂系列
  • 📝 一文读懂系列
  • 🌟 持续更新
  • 🎯 人生经验

掘金账号 CSDN账号

感谢订阅专栏 三连文章
http://www.xdnf.cn/news/190063.html

相关文章:

  • 数据库学习笔记(十三)---存储过程
  • OpenCV 图形API(68)图像与通道拼接函数------垂直拼接两个图像/矩阵的函数concatVert()
  • 手搓传染病模型(SEIR-拓展)
  • 深度对比:Objective-C与Swift的RunTime机制与底层原理
  • 深入理解缓存淘汰策略:LRU 与 LFU 算法详解及 Java 实现
  • 媒资管理之视频管理
  • Prompt Engineering 提示工程:释放大语言模型潜力的关键技术与实践指南
  • C++(初阶)(十四)——多态
  • SwiftUI 10.Toggle介绍和使用
  • 马克·雷伯特:用算法让机器人飞奔的人
  • Mac搭建Flutter IOS环境详细指南
  • 了解Android studio 初学者零基础推荐(1)
  • 算术表达式通常有三种表示形式:中缀表达式、前缀表达式(波兰式)和后缀表达式(逆波兰式)。分别都是什么?
  • 【Java EE初阶】多线程(二)
  • uniapp做app,使用v-for遍历渲染第二层的时候,打包到手机上渲染不出第二层的数据
  • 如何使用极狐GitLab 议题看板?
  • LeetCode 3392、LCR106、3447题解
  • Linux学习笔记(一):Linux下的基本指令
  • 深入理解同源策略与跨域资源共享(CORS)
  • AI与IT协同的典型案例
  • C++ 解决一个简单的图论问题 —— 最小生成树(以 Prim 算法为例)
  • Shell脚本-随机数实战案例
  • 数据结构 -- 图的应用(二)
  • 机器学习中的数据转换:关键步骤与最佳实践
  • 多模态革命!拆解夸克AI相机技术架构:如何用视觉搜索重构信息交互?(附开源方案对比)
  • 讯飞星辰焕新发布!Agent规模化应用的通关密码
  • 【“星瑞” O6 评测】 — CPU llama.cpp不同优化速度对比
  • 【Shell 脚本入门】轻松上手的实战指南
  • 深度学习: AI 体育领域
  • 成员方法的详细说明(结合Oracle官方文档)