计算机组成原理——数据表示(二)

当生活的压力和困惑缠绕在身边,我们往往需要振奋精神,勇往直前。无论在何种困境中,我们都要保持积极的态度和坚定的信念。将悲观的情绪抛之脑后,展现出坚强的意志力和无尽的活力。振奋精神意味着我们要战胜自己内心的负面情绪,抛开烦恼,迎接挑战。无论面对多么艰难的境遇,我们都应该激发内心的力量,迎难而上。不论结果如何,勇敢的尝试本身就是一种胜利。振奋精神是一种积极的心态,它让我们变得更加勇敢、自信和坚定。只有拥有振奋精神,我们才能在困境中找到解决问题的办法,战胜自己的恐惧和犹豫。所以,无论前方有多么曲折和艰巨,让我们一起振奋精神,勇往直前吧!

计算机组成原理资源网

https://www.wenjingketang.com/这里面有ppt课后习题及答案,需要的可以自行下载

目录

2.2 定点数的表示

2.2.1 无符号数和有符号数的表示

2.2.2 机器数的定点表示

2.2.3 数的机器码表示

2.3 浮点数的表示

2.3.1 浮点数的表示格式

2.3.2 规格化浮点数

2.3.3 IEEE 754标准

2.4 常见问题和易混淆知识点

无符号数与有符号数的区别

定点数与浮点数的选择

规格化与非规格化的理解

IEEE 754标准的理解


2.2 定点数的表示

2.2.1 无符号数和有符号数的表示

无符号数(Unsigned Numbers):

  • 定义: 只能表示非负数,每一位都用于表示数值大小,没有专门的符号位。
  • 范围: 对于n位无符号整数,其取值范围是从0到2n−12n−1。例如,8位无符号整数的范围是0到255。
  • 例子: 一个8位无符号整数00001010表示十进制中的10。

有符号数(Signed Numbers):

  • 定义: 可以表示正数和负数,最高位通常作为符号位,0 表示正数,1 表示负数。
  • 原码(Sign-Magnitude Representation):
    • 定义: 符号位加上绝对值的二进制表示。例如,8位二进制中的+5为00000101,-5为10000101
    • 问题: 存在一个正零和一个负零(0000000010000000),这增加了复杂性。
  • 反码(One's Complement):
    • 定义: 正数的反码等于其原码;负数的反码是在原码基础上,除了符号位外,其余各位取反。
    • 问题: 同样存在两个零的问题,并且在进行算术运算时需要额外的步骤来处理符号位。
  • 补码(Two's Complement):
    • 定义: 是最常用的表示方式。正数的补码等于其原码;负数的补码是在其反码的基础上加1。补码的优点是可以简化加减法运算,因为在补码系统中,正数和负数的加减法可以统一为加法操作。
    • 优点: 解决了双零问题,并且使得加法器设计更为简单,能够正确处理带符号数的加减运算。
  • 例子:
    • +5 的补码表示为 00000101
    • -5 的补码表示为 11111011(先将5转换成二进制 00000101,然后取反得到 11111010,最后加1变为 11111011)。
2.2.2 机器数的定点表示

定点数(Fixed-point Number):

  • 定义: 定点数是指小数点位置固定不变的数字表示方法。根据小数点的位置不同,分为定点整数和定点小数两种类型。
  • 定点整数: 小数点位于最低有效位之后,所有位都用来表示整数部分。
  • 定点小数: 小数点位于最高有效位之前,所有位都用来表示小数部分。
  • 混合定点数: 一部分位表示整数部分,另一部分位表示小数部分。小数点的位置是预先约定好的。

特点:

  • 简单直观,硬件实现容易。
  • 适合用于对精度要求不高或已知数据范围的应用场景。
  • 在嵌入式系统和DSP(数字信号处理器)中广泛应用。
2.2.3 数的机器码表示

机器码(Machine Code):

  • 定义: 机器码是计算机内部用来表示数值的形式,采用二进制表示法。对于有符号数,通常使用补码形式。
  • 无符号数: 没有符号位,全部位用于表示数值。
  • 有符号数: 使用最高位作为符号位,其余位表示数值。

例子:

  • 对于8位二进制:
    • +5 的补码表示为 00000101
    • -5 的补码表示为 11111011


2.3 浮点数的表示

2.3.1 浮点数的表示格式

浮点数(Floating-point Number):

  • 定义: 浮点数是一种用来表示实数的数据类型,它允许小数点位置浮动,从而可以表示非常大或非常小的数值。
  • 组成: 浮点数由三部分组成:符号位(S)、指数位(E)和尾数位(M)。
    • 符号位(S): 1位,表示数值的正负,0为正,1为负。
    • 指数位(E): 表示数值的大小,通常是偏置表示法(Biased Notation),即实际指数加上一个偏移量。
    • 尾数位(M): 表示数值的有效数字部分,也称为分数部分。

例子:

  • IEEE 754单精度浮点数格式:
    • 符号位:1位
    • 指数位:8位
    • 尾数位:23位
2.3.2 规格化浮点数

规格化(Normalized Form):

  • 定义: 当浮点数被表示为规格化形式时,尾数的第一位总是隐含为1(但不在存储中显式出现),这样可以在不增加存储空间的情况下提高表示精度。
  • 特点:
    • 提高了表示精度,因为多了一位有效数字。
    • 保证了浮点数之间的比较更加直接和高效。

非规格化数(Denormalized or Subnormal Numbers):

  • 定义: 当指数全为0时,尾数不再隐含前导1,而是直接从第一位开始计算,这样的浮点数被称为非规格化数。
  • 作用: 主要是为了扩展可表示的最小正数和最大负数的范围,填补了规格化数与零之间的空隙。
2.3.3 IEEE 754标准

IEEE 754标准:

  • 概述: IEEE 754是一个广泛接受的标准,规定了浮点数的表示方法、舍入规则以及异常情况的处理等。
  • 版本: 目前有两个主要版本——1985年发布的原始版本和2008年更新的版本。
  • 格式:
    • 单精度(Single Precision): 32位,包括1位符号位、8位指数位和23位尾数位。
    • 双精度(Double Precision): 64位,包括1位符号位、11位指数位和52位尾数位。
    • 四精度(Quadruple Precision): 128位,适用于更高精度需求的场合。

特殊值:

  • 零(Zero): 所有位均为0表示正零;符号位为1,其他位为0表示负零。
  • 无穷大(Infinity): 指数全为1,尾数全为0表示正无穷或负无穷。
  • NaN(Not a Number): 指数全为1,尾数至少有一位为1表示不是一个合法的数值。


2.4 常见问题和易混淆知识点

无符号数与有符号数的区别
  • 区别: 无符号数只能表示非负数,而有符号数既能表示正数也能表示负数。它们的最大区别在于最高位是否作为符号位使用。
  • 影响: 如果不小心将有符号数当作无符号数处理,可能会导致严重的逻辑错误。例如,在C语言中,如果一个变量被声明为unsigned int,那么即使它的值超过了int类型的上限,也不会触发溢出错误,而是继续循环回0。
定点数与浮点数的选择
  • 选择依据:
    • 定点数: 适合精度要求不高或已知数据范围的应用场景,如嵌入式系统、DSP等。由于其简单性和效率,常用于实时控制系统。
    • 浮点数: 更适合需要高精度和大动态范围的应用,如科学计算、图形渲染等领域。然而,浮点运算相对复杂,消耗更多资源。
规格化与非规格化的理解
  • 规格化: 提高了表示精度,但在某些情况下可能导致下溢(Underflow),即接近零的小数无法准确表示。
  • 非规格化: 允许表示更小的数,但代价是降低了精度。它们主要用于避免完全丢失信息的情况,比如当数值非常接近零时。
IEEE 754标准的理解
  • 重要性: IEEE 754确保了不同平台之间浮点数表示的一致性,减少了跨平台开发时可能出现的兼容性问题。
  • 细节: 包括但不限于浮点数的表示格式、舍入模式、异常处理机制等。熟悉这些细节有助于编写更可靠和高效的程序。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/5868.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Spring Boot整合Thymeleaf、JDBC Template与MyBatis配置详解

本文将详细介绍如何在Spring Boot项目中整合Thymeleaf模板引擎、JDBC Template和MyBatis,涵盖YAML配置、依赖版本匹配、项目结构设计及代码示例。 一、版本兼容性说明 Spring Boot版本与Java版本对应关系 Spring Boot 2.x:支持Java 8、11(推…

概率论里的特征函数,如何用卷积定理去理解

概率论里的特征函数,如何用卷积定理去理解_哔哩哔哩_bilibili

论文笔记(六十二)Diffusion Reward Learning Rewards via Conditional Video Diffusion

Diffusion Reward Learning Rewards via Conditional Video Diffusion 文章概括摘要1 引言2 相关工作3 前言4 方法4.1 基于扩散模型的专家视频建模4.2 条件熵作为奖励4.3 训练细节 5 实验5.1 实验设置5.2 主要结果5.3 零样本奖励泛化5.4 真实机器人评估5.5 消融研究 6 结论 文章…

HashMap用法

一、构造方法 构造方法有4个。 1、手动声明初始容量及负载因子的构造函数。初容容量的最大值不能超过MAXIMUM_CAPACITY 2、手动声明初始容量的构造函数,负载因子是默认大小。 默认的负载因子是0.75 3、无参的构造函数,会指定默认的负载因子。容量是默…

Java基础 (一)

基础概念及运算符、判断、循环 基础概念 关键字 数据类型 分为两种 基本数据类型 标识符 运算符 运算符 算术运算符 隐式转换 小 ------>>> 大 强制转换 字符串 拼接符号 字符 运算 自增自减运算符 ii赋值运算符 赋值运算符 包括 强制转换 关系运算符 逻辑运算符 …

无人机在城市执法监管中的应用:技术革新与监管挑战

随着科技的不断进步,无人机技术在城市管理中的应用越来越广泛。无人机以其灵活性、高效性和低成本的优势,正在逐渐成为城市执法监管的得力助手。本文将探讨无人机在城市执法监管中的应用现状、技术优势以及面临的挑战。 无人机技术在城市执法监管中的应用…

AI模型提示词(prompt)优化-实战(一)

一、prompt作用 用户与AI模型沟通的核心工具,用于引导模型生成特定内容、控制输出质量、调整行为模式,并优化任务执行效果,从而提升用户体验和应用效果 二、prompt结构 基本结构 角色:设定一个角色,给AI模型确定一个基…

mac 电脑上安装adb命令

在Mac下配置android adb命令环境,配置方式如下: 1、下载并安装IDE (android studio) Android Studio官网下载链接 详细的安装连接请参考 Mac 安装Android studio 2、配置环境 在安装完成之后,将android的adb工具所在…

电子应用设计方案101:智能家庭AI喝水杯系统设计

智能家庭 AI 喝水杯系统设计 一、引言 智能家庭 AI 喝水杯系统旨在为用户提供个性化的饮水提醒和健康管理服务,帮助用户养成良好的饮水习惯。 二、系统概述 1. 系统目标 - 精确监测饮水量和饮水频率。 - 根据用户的身体状况和活动量,智能制定饮水计划。…

5G网络下移动机器人的图像和指令传输用于远程操作

论文标题 **英文标题:**Image and Command Transmission Over the 5G Network for Teleoperation of Mobile Robots **中文标题:**5G网络下移动机器人的图像和指令传输用于远程操作 作者信息 Thiago B. Levin,, Joo Miguel Oliveira,, Ricardo B. Sou…

AIGC视频生成国产之光:ByteDance的PixelDance模型

大家好,这里是好评笔记,公主号:Goodnote,专栏文章私信限时Free。本文详细介绍ByteDance的视频生成模型PixelDance,论文于2023年11月发布,模型上线于2024年9月,同时期上线的模型还有Seaweed&…

软件安全性测试报告如何编写?

在当今数字化时代,软件安全性问题愈发显得重要,软件产品的安全性已经成为企业竞争力的重要组成部分。而软件安全性测试报告是通过对软件系统进行全面的安全性测试后,整理出的关于其安全性状况、潜在风险及改进建议的专业文档。此报告旨在帮助…

从密码学原理与应用新方向到移动身份认证与实践

相关学习资料放下面啦! 记得关注❤️~后续分享更多资料 通过百度网盘分享的文件:从密码学原理与应... 链接https://pan.baidu.com/s/1mHpHkvPuf8DUwReQkoYQlw?pwdGza7 提取码:Gza7 复制这段内容打开「百度网盘APP 即可获取」 记…

【玩转全栈】---基于YOLO8的图片、视频目标检测

本篇主要讲YOLO8的具体操作,想要了解YOLO的具体原理,可以去官网查询 目录 下载ultralytics库 开始检测 介绍 YOLOv8(You Only Look Once Version 8)是 YOLO 系列的最新版本,由 Ultralytics 开发并发布,是一…

生成对抗网络(GAN)入门与编程实现

生成对抗网络(Generative Adversarial Networks, 简称 GAN)自 2014 年由 Ian Goodfellow 等人提出以来,迅速成为机器学习和深度学习领域的重要工具之一。GAN 以其在图像生成、风格转换、数据增强等领域的出色表现,吸引了广泛的研究…

【若依】添加数据字典

接下来,在生成代码的页面将“学科”字段改为下拉框,然后选择数据字典 然后,将生成的代码中的index文件复制到vue3的index中,替换掉之前的index文件 修改数据库中的subject的值,这样就可以通过数据字典来查询 以上操作成…

ngrok同时配置多个内网穿透方法

一、概要 ngrok可以用来配置免费的内网穿透,启动后就可以用外网ip:端口访问到自己计算机的某个端口了。 可以用来从外网访问自己的测试页面(80、8080)、ftp文件传输(21)、远程桌面(3389)等。 …

MySQL可直接使用的查询表的列信息

文章目录 背景实现方案模板SQL如何查询列如何转大写如何获取字符位置如何拼接字段 SQL适用场景 背景 最近产品找来,想让帮忙出下表的信息,字段驼峰展示,每张表信息show create table全部展示,再逐个粘贴,有点太耗费时…

白玉微瑕:闲谈 SwiftUI 过渡(Transition)动画的“口是心非”(下)

概述 秃头小码农们都知道,SwiftUI 不仅仅是一个静态 UI 构建框架那么简单,辅以海量默认或自定义的动画和过渡(Transition)特效,我们可以将 App 界面的绚丽升华到极致。 不过,目前 SwiftUI 中的过渡&#x…

cookie 与 session -- 会话管理

目录 前言 -- HTTP的无状态 cookie 概念 工作原理 Cookie 分类 会话 Cookie -- 内存级存储 持久 Cookie -- 文件级存储 代码验证 cookie 用户 username 过期时间 expires 指定路径 path cookie 的不足 session 概念 工作原理 代码验证session THE END 前言 -…