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

计算机组成原理——数据的表示

2.1数据的表示

整理自Beokayy_

1.进制转换

十六进制与二进制的转换

一位十六进制等于四位二进制
四位二进制等于一位十六进制
0x173A4C=0001 0111 0011 1010 0100 1100

十六进制与十进制的转换

十六转十:每一位数字乘以相应的16的幂再相加
十转十六:先短除法转二,再四位二进制对应一位十六进制

二进制与十进制的转换

十转二:短除法
二转十:每一位数字乘以相应的2的幂乘再相加

2.机器数与真值

真值:带有正负号的数值
机器数:需要按照编码形式来解释其含义
这两个概念是最初始的概念,不要与后面的各种编码混淆

3.定点数与浮点数

定点数

小数点位置不变的表示方法叫做定点表示法,用这种方法表示出的数叫做定点数。
定点数理论上可以表示整数和小数。

  • 对于纯整数和纯小数,可以直接二进制转换,因为小数点分别在最低位和最高位
  • 对于整数加小数,则需要约定小数点的位置。例如约定八位二进制数前五位是整数,后三位是小数。此时表达的精度不够,范围也很低。

综上,定点数通常用来表示小数。

浮点数

计算机中使用浮点数表示小数,类似于数学中的科学计数法。
IEEE浮点标准用V=(-1)S*M*2 E的形式来表示一个数:

  • 符号位S:决定这个数是正数(S=0)还是负数(S=1)。
  • 尾数M:M是一个二进制小数,在IEEE754标准中用原码表示。
  • 阶码E:对浮点数加权,这个权重是2的E次幂,在IEEE754标准中用移码表示。

4.带符号数的编码

为了能方便地对机器数进行算术运算,计算机设计了多种符号位与数值一起编码的方法,最常用的编码方式为:原码、反码、补码以及移码。

原码

  • 用机器数的最高位表示数的符号,其余各位表示数的绝对值。
  • 真值0的原码表示有两种,即[+0]原=00000和[-0]原=10000。

补码

  • 正数的补码与原码相同,负数的补码符号位为1,其他位为原码取反,未位加1。
  • 补码系统的最大优点是可以在加法或减法处理中,加法电路就可以处理各种有符号数加法,而且减法可以用一个数加上另一个数的补码来表示,因此只要有加法电路和补码电路即可以完成各种有符号数加法和减法,在电路设计上相当方便。
  • 计算机中的带符号数都用补码表示。
  • 特别规定:[x]补=10000000=-128,[x]补=1.0000000=-1。因此,小数补码比原码多表示一个"-1",正数补码比原码多表示一个"-2(n-1)"(机器字长为n)。
  • 真值0的补码表示是唯一的,即[+0]补=[-0]补=00000。
  • 用权值理解补码(补码一步得到真值):
    按照二进制转十进制的加权求值法,但是符号位的权值是负的。
    • 例如:10110=-24+22+21=-10

反码

原码和补码转换的媒介

  • 正数:原码反码补码相同
  • 负数:符号位不变其余取反

移码

  • 移码=真值X+偏置常数,后者通常取2(n-1)(机器字长为n)。
  • 在补码的基础上将符号位取反,即可得到移码。
  • 移码常用来表示浮点数的阶码。

5.无符号数的编码

  • 在讨论无符号数时,一般情况默认为无符号整数。
  • 对于字长相同的情况下,无符号数省略了一位符号位,因此它能表示的最大数比带符号整数能表示的要大。
  • 常用无符号整数进行地址运算,或者用它来表示指针。
  • 用权值理解无符号数(无符号数一步得到真值):直接用二进制转十进制

6.寻址和字节顺序

编址方式

按字节编址
  • 每一个字节编一个地址
  • 假设一个数据32位,就需要分到4个地址
按字长编址
  • 每一个存储字长一个地址
  • 假设字长32位,32位的数据一个地址,64位的数据两个地址
按半字长编址
  • 每半个存储字长一个地址
  • 假设字长32位,32位的数据两个地址,64位的数据四个地址

寻址

无特殊说明,连续字节存储的数据按照地址低位作为整个数据的地址

字节顺序

大端

数据高位存放在地址低位

  • 数字12345678分得01 02 03 04四个地址。将12存在01,以此类推。得到12345678.
小端

数据低位存放在地址低位

  • 数字12345678分得01 02 03 04四个地址。将12存在04,以此类推。得78563412

7.边界对齐

K字节的对象的地址必须是K的倍数
例如:

  • a和b分别是1字节和4字节。如果不边界对齐,a分到的地址是00,b分到的地址是01020304。
  • 假设计算机的存取字长是4字节,访问b需要取两次,。第一次取00010203,第二次04050607,效率低。
  • 按照对齐原则,b的地址应该是04050607。这样就只需一次就取到了b。

8.符号扩展

原码

  • 符号位不变,中间以0扩展

补码

  • 整数:向左扩展,补1
  • 小数:向右扩展,补0
http://www.xdnf.cn/news/6477.html

相关文章:

  • 使用 Docker 部署 React + Nginx 应用教程
  • 4.2.3 Thymeleaf标准表达式 - 5. 片段表达式
  • mac M芯片运行docker-desktop异常问题
  • 保姆教程-----安装MySQL全过程
  • minio存储文件迁移磁盘
  • SpringBoot + Shiro + JWT 实现认证与授权完整方案实现
  • 《k-means 散点图可视化》实验报告
  • 在服务器上安装AlphaFold2遇到的问题(3)_cat: /usr/include/cudnn_version.h: 没有那个文件或目录
  • 从概念到可工程化智能体的转变路径——以“知识奇点工程师”为例
  • Secs/Gem第四讲(基于secs4net项目的ChatGpt介绍)
  • Python零基础入门到高手8.4节: 元组与列表的区别
  • 深度学习中--模型调试与可视化
  • 易境通海外仓WMS系统:赋能海外仓多元化业务场景管理
  • 【通知】2025元宇宙数字人设计大赛启动,大赛线上报名阶段开启!
  • ROOM 数据库 | 实现自定义 ContentProvider 具有条件的批量删除、查询功能
  • 傻子学编程之——Java并发编程的问题与挑战
  • WHAT - 前端开发流程 SOP(标准操作流程)参考
  • 芋道项目,商城模块数据表结构
  • NetSuite CSV导入Item Fulfillment的功能测试
  • ruskal 最小生成树算法
  • CPU cache基本原理
  • 互联网大厂Java求职面试:AI与大模型集成的云原生架构设计
  • 崩坏星穹铁道风堇前瞻养成攻略 崩坏星穹铁道风堇配队推荐
  • 【25软考网工】第六章 (6)防火墙技术、IDS入侵检测系统和IPS入侵防御系统
  • pytest 框架-第一集:初识
  • 3.2.4 掌握RDD行动算子
  • 周赛好题推荐
  • 采购管理系统实施要点有哪些,流程优化与风险防控指南
  • 论文中的“研究方法”怎么写?
  • NHANES指标推荐:OBS