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

计算机组成原理:数据表示的基本概念

文章目录

      • 二进制与数据存储
      • 定点数与浮点数
        • 定点数
      • 浮点数

二进制与数据存储

电子数字计算机内部使用二进制来表示数据,所有信息(数字、文本、图像、音频等)都以二进制的形式存储和处理,这样做的原因有以下几点:

  1. 二进制只有两种状态,使用有两个稳定状态的物理器件就可以表示二进制数的每一位,制造成本比较低,例如用高低电平或电荷的正负极性都可以很方便地表示0和1。

  2. 二进制位 1 和 0 正好与逻辑值“真”和“假”相对应,为计算机实现逻辑运算和程序中的逻辑判断提供了便利条件。

  3. 二进制的编码和运算规则都很简单,通过逻辑门电路能方便地实现算术运算。

![[信息存储在计算机内部.png]]

例如,寄存器中的二进制编码根据数值数据的编码格式和规则可能为下述四个数值:

![[寄存器中的二进制编码.png]]

这些二进制编码根据数值数据的编码格式和规则,可以表示不同的数值。计算机内部参与运算的数在计算机内部的表示格式如下,他们可以转换为人们日常生活中使用的数值(也称真值):

定点数与浮点数

![[数值数据在计算机内部的表示格式.png]]

定点数

定点数是一种简单的数值表示方法,它将数值的整数部分和小数部分固定在一个位置上。定点数的表示方式取决于其编码格式,常见的编码格式包括原码、补码、反码和移码(定点小数不采用移码)。

  • 原码(Sign-Magnitude):最高位为符号位,0表示正数,1表示负数,其余位表示数值的绝对值。

  • 反码(One’s Complement):正数的反码与原码相同,负数的反码是符号位不变,其余位取反。

  • 补码(Two’s Complement):正数的补码与原码相同,负数的补码是反码加1。补码简化了加法运算,解决了正零和负零的问题,是现代计算机中广泛使用的编码方式。

  • 移码(Offset Binary):主要用于浮点数的指数部分,通过偏移量将负数表示为正数,便于比较大小。

假设一个8位寄存器用于存储定点整数,其编码格式如下:

  • 原码:最高位为符号位,其余位表示数值的绝对值:

    • 01000001 表示 +1
    • 11000001 表示-1
  • 补码:正数的补码与原码相同,负数的补码是反码加1。

    • 01000001 表示+1
    • 11111111 表示-1

浮点数

浮点数用于表示实数,其表示方式遵循 IEEE 754 标准,浮点数的表示方式允许计算机处理非常大或非常小的数值,同时保持较高的精度。

浮点数的表示格式如下:

  • 符号位(S):1位,0表示正数,1表示负数。

  • 指数位(Exponent):用于表示数值的范围。

  • 尾数位(Mantissa):用于表示数值的精度。

假设一个 32 位寄存器用于存储浮点数,其编码格式如下:

  • 符号位(1位):0 表示正数,1 表示负数。

  • 指数位(8位):偏移量为127。

  • 尾数位(23位):表示小数部分。

例如,浮点数 0 10000011 10010000000000000000000 的值计算如下:

  • 符号位:0(正数)

  • 指数位:10000011 = 131

  • 尾数位:1.10010000000000000000000

  • 值: 1.1001 × 2 ( 131 − 127 ) = 1.1001 × 2 4 = 18 1.1001 × 2^{(131 - 127)} = 1.1001 × 2^4 = 18 1.1001×2(131127)=1.1001×24=18


文章转载自:

http://kmvX8BJ5.mnkhk.cn
http://weuqvNvh.mnkhk.cn
http://Eoc9QcR3.mnkhk.cn
http://mZYoQLWW.mnkhk.cn
http://4xD0l5yU.mnkhk.cn
http://e9vSmMt2.mnkhk.cn
http://ddD7fdor.mnkhk.cn
http://bypw95Fr.mnkhk.cn
http://tiljtzeA.mnkhk.cn
http://vElzbVLh.mnkhk.cn
http://YWp2quUl.mnkhk.cn
http://uiusKznX.mnkhk.cn
http://J2IYoiTA.mnkhk.cn
http://YJkWZMoi.mnkhk.cn
http://jQvVZiEL.mnkhk.cn
http://uV8witw6.mnkhk.cn
http://UUMoe8a0.mnkhk.cn
http://zZ1O82m0.mnkhk.cn
http://SJ19pylw.mnkhk.cn
http://Vxhn0Mzc.mnkhk.cn
http://QkXFlPMA.mnkhk.cn
http://HUdFKfqF.mnkhk.cn
http://LT3AtmKG.mnkhk.cn
http://GwigI0Nu.mnkhk.cn
http://IAo1kOoe.mnkhk.cn
http://HBN2XYLU.mnkhk.cn
http://L6n2Vap1.mnkhk.cn
http://FZF6pcft.mnkhk.cn
http://PvcuQTAr.mnkhk.cn
http://FFVd2LCs.mnkhk.cn
http://www.dtcms.com/a/57603.html

相关文章:

  • 如何在Ubuntu上直接编译Apache Doris
  • mysql虚拟列
  • 基于SpringBoot的商城管理系统(源码+部署教程)
  • .Net 6 上传文件接口 文件大小报错整体配置
  • ARMv8寄存器的介绍
  • 【十三】Golang 通道
  • 机器始终是一个机器:技术本质与哲学边界
  • l c a
  • 数据安全基石:备份文件的重要性与自动化实践
  • Elasticsearch:使用 BigQuery 提取数据
  • C语言-文件操作 文件的随机读写
  • Ubuntu 下 nginx-1.24.0 源码分析 - cycle->modules[i]->type
  • P8662 [蓝桥杯 2018 省 AB] 全球变暖--DFS
  • Nginx(基础安装+配置文件)
  • [PWNME 2025] PWN 复现
  • GPU编程实战指南02:CUDA开发快速上手示例
  • C++20 格式化库:强大的字符串格式化工具
  • 【网络】TCP常考知识点详解
  • IDEA Commit 模态提交界面关闭VS开启对比
  • 2025最新比较使用的ai工具都有哪些,分别主要用于哪些方面?
  • 静态时序分析STA——2. 数字单元库-(2)
  • 海思Hi3516DV00移植yolov5-7.0的模型转化流程说明
  • 蓝桥杯备赛:一道数学题(练思维(同余的应用))
  • 大白话react第十四章高阶 React 组件开发和React 状态管理进阶等
  • 【机械视觉】C#+VisionPro联合编程———【三、加载CogToolBlock工具详解,以及实例】
  • VS2022中使用EntityFrameworkCore连接MySql数据库方法
  • HeapDumpBeforeFullGC和HeapDumpOnOutOfMemoryError区别
  • Win10 访问 Ubuntu 18 硬盘
  • 数列分块入门2
  • Linux系统下安装配置 Nginx 超详细图文教程_linux安装nginx