[计算机组成原理]2-4、定点数详解

article/2025/9/27 11:00:53

定点数详解

看笔记一定要心静,慢慢来不急。
在这里插入图片描述


定点数解释为小数点固定的数

我们平常使用的数字大部分都属于定点数。比如1.0;110;192.168等等。这么说可能我们对定点数还是没有什么概念,毕竟没有参照物,那么与定点数不同的就是浮点数了。就我们之前上学接触到的浮点数就是科学计数法了。
在这里插入图片描述

这里我们主要介绍定点数,浮点数在之后介绍。


上面我们初步了解定点数的概念,下面我们来看定点数方面的具体内容,,先来看大致几个方面:
在这里插入图片描述

其实这个小节我学习之后一直都是稀里糊涂的,什么原码、反码、补码一会儿有符号一会儿无符号给我整的晕头转向的,后来二刷终于搞明白了,无非就几点:

  • 无符号数就表示数,有符号数才讨论原码、反码、补码、移码。
  • 一看长什么样(怎样表示),二看有多大能耐(表示数值的范围)。
    在这里插入图片描述

1无符号数(没有小数)

计算机中的数都是用二进制表示,无符号数就是所有数据都表示数值大小不表示正负。(相当于绝对值)

例:(B表示二进制;D表示十进制)
在这里插入图片描述

现在我们知道无符号数长什么样了,接下来还有一点,看他的能耐有多大:

假设有8位无符号数,那么它什么时候最小?1111 1111这个时候最小嘛?显然不是,最小的情况应该是全都是0的时候,相对的全都是1的时候是最大的。
在这里插入图片描述

可以自己试着总结它的表示范围,假设有10位?9位观察规律可以知道所有无符号数的表示范围。


有符号数

有符号数分为小数和整数,我们知道整数其实就是小数点在数字的后面,也就是说小数点后面没有数据。
在这里插入图片描述

定点小数:绝对值都小于1.
在这里插入图片描述

我们可以发现,有符号数的最低位(左边)是符号位,0表示正数,1表示负数。


1. 原码

先来看长什么样

依然用上边例题的数据:1001 1100B,在无符号数情况下它表示156D。

在有符号数情况下我们说第一位是符号位:1001 1100B=-28D,这就是原码,如无特别说明一般都是原码,就像我们平常数字一般都是十进制。

在看它的表示范围

因为相比无符号数,一位被占用表示符号了,所以8位数据

整数——最小:1111 1111 —— 最大:0111 1111 -----------> 所以有:n+1位数据x -(2^n -1) ≤ x ≤2^n-1

小数——最小:1.111 1111 ——最大:0.111 1111 ------------>所以有:n+1位数据x -(1-2^n ) ≤ x ≤1-2^n

"0"特别注意,1000 0000和0000 0000都表示“0”。


2. 反码

先来看长什么样
在这里插入图片描述
在这里插入图片描述

再看它的表示范围
在这里插入图片描述

反码是原码转换补码的中间状态,脱离这个作用就没什么用处了。


3. 补码

先来看长什么样
在这里插入图片描述
在这里插入图片描述
自己试着按照上边的规则算一遍,光看又看不出个花来。需要特别注意的是0,原码和反码都有两种表示形式,补码只有一种

再来看(补码!!)表示范围
在这里插入图片描述

大概一看,我们会想这什么玩意儿。其实很好理解,你看原码和反码是不是都有两个0,他们的(源码和反码!)表示范围都是
在这里插入图片描述

没问题吧,那补码不同的地方在哪?就是补码只有一个0,比如A和B都代表0,现在到了补码这里只用A代表0.那么多出来的B干嘛去了?就是在下界那里扩充一位,比如本来范围是-5≤x≤5,现在多出来一位表示-6,所以范围就变成了-6≤x≤5。


4. 移码

先来看长什么样

  • 移码只能用来表示整数。
  • 将补码的符号位取反得到移码。
    在这里插入图片描述
    表示范围
    和补码整数相同。


原码、反码、补码、移码。说了这么多,其实要点在于你要会原码转换补码,牢记这几个码之间的转换规则,移码其实是为了在计算机中处理数据方便,不必过度关心,但是相互转换一定要掌握。
在这里插入图片描述



http://chatgpt.dhexx.cn/article/RKeUB444.shtml

相关文章

Java枚举类实现

一、枚举类的特点 1.类的对象只有有限个,且为静态常量 2.当需要定义一组常量时,强烈建议使用枚举类 二、如何定义枚举类 jdk1.5之前:自定义枚举类 jdk1.5 :可以使用enum关键字来定义枚举类 2.1自定义枚举类实现: package enumte…

java枚举

为什么需要枚举? 一些方法在运行时,它需要的数据不能是任意的,而必须是一定范围内的值,比如成绩Grade只能为ABCDE。此类问题在JDK5以前采用自定义带有枚举功能的类解决,Java5以后可以直接使用枚举予以解决。枚举…

Java枚举中定义属性

文章目录 1、复习枚举2、自定义属性3、自定义属性枚举类和常量的对比4、常用方法5、枚举自定义属性在开发中的应用:字典表6、补充:入参校验 刚接触枚举时的例子太简单,就一个Season枚举类,里面四个常量值,后来开发中看…

Java 枚举(Enum)使用

文章目录 枚举引入enum关键字实现枚举enum关键字实现枚举注意事项enum常用方法一览表enum课堂练习enum实现接口 枚举引入 创建Season类, 实例化春夏秋冬四个实例 Season对象有如下特点 1.季节的值是有限的几个值(spring, summer, autumn, winter) 2.只读,不需要修…

Java枚举详解

目录 Java枚举详解 基本介绍 1.自定义类实现枚举 2.使用enum关键字实现枚举 使用enum关键字实现枚举的注意事项 enum的常用方法 enum的使用细节 Java枚举详解 基本介绍 枚举对应英文(enumeration,简写 enum) 枚举是一组常量的集合 枚举属于一种特殊的类,里…

Java枚举(enum)

枚举是一个被命名的整型常数的集合,用于声明一组带标识符的常数。枚举在曰常生活中很常见,例如一个人的性别只能是“男”或者“女”,一周的星期只能是 7 天中的一个等。类似这种当一个变量有几种固定可能的取值时,就可以将它定义为…

如何使用pFuzz以多种方法验证Web应用程序防火墙的安全性

关于pFuzz pFuzz是一款功能强大的Web应用程序防火墙安全检测/绕过工具,可以帮助广大研究人员同时通过多种方式绕过目标Web应用程序防火墙,以测试WAF的安全性。 pFuzz本质上是一款高级红队模糊测试工具,主要用于研究目的。pFuzz基于Python编…

jieba java_【NLP】【一】中文分词之jieba

声明:本文参考jieba官方文档而成,官方链接:https://github.com/fxsjy/jieba 【一】jieba安装 pip install jieba 【二】jieba简介 简介可见jieba官方说明:https://pypi.org/project/jieba/ 总而言之,jieba用于中文分词…

jieba 分词

一.介绍: jieba: “结巴”中文分词:做最好的 Python 中文分词组件 “Jieba” (Chinese for “to stutter”) Chinese text segmentation: built to be the best Python Chinese word segmentation module. 完整文档见 : GitHub: https://github.com…

jieba学习

Jieba jieba的安装主要功能1.主要有三种模式:2. 加载词典3.词性标注4.关键词提取5.Tokenize:返回词语在原文的起止位置 jieba的安装 先在 [http://pypi.python.org/pypi/jieba/]下载 ,解压后运行 python setup.py install 或者pin install j…

jieba 结巴分词详解

🔗 运行环境:python3🚩 作者:K同学啊🥇 精选专栏:《深度学习100例》🔥 推荐专栏:《新手入门深度学习》📚 极品专栏:《Matplotlib教程》📔 选自专栏…

NLP基本工具之jieba详解

jieba的作用只有分词吗? 简介 jieba(结巴)是百度工程师Sun Junyi开发的一个开源库,在GitHub上很受欢迎,使用频率也很高。 GitHub链接:https://github.com/fxsjy/jieba jieba最流行的应用是分词&#xff0…

jieba分词的最详细解读

目录 一,什么是jieba(结巴)库? 二,jieba库的使用规则 三,jieba库具体使用和实例 一,什么是jieba(结巴)库? 字如其名,结巴库主要用于中文分词&…

python中jieba库使用教程

jieba是python的一个中文分词库,下面介绍它的使用方法。 安装 方式1: pip install jieba方式2: 先下载 http://pypi.python.org/pypi/jieba/ 然后解压,运行 python setup.py install 功能 下面介绍下jieba的主要功能&#xff…

基于python中jieba包的详细使用介绍

一,jieba的介绍 jieba 是目前表现较为不错的 Python 中文分词组件,它主要有以下特性: 支持四种分词模式: 精确模式全模式搜索引擎模式paddle模式 支持繁体分词 支持自定义词典 MIT 授权协议 二,安装和使用 1&am…

CRC校验码的计算

循环冗余检验的原理: 在发送端,先把数据划分为组,假定每组k个比特,假定一个待传送的数据M(k位),CRC运算就是在数据M的后面添加供差错检测用的n位冗余码,然后构成一个帧发送出去&…

CRC校验简单记录

先聊聊奇偶校验 所谓通讯过程的校验是指在通讯数据后加上一些附加信息,通过这些附加信息来判断接收到的数据是否和发送出的数据相同。校验得通信双方都有才行,接收方收到数据后进行计算得到一个校验值,与发送方发的校验值比较,如果…

CRC校验总结

事实上网上很多CRC校验算法,在接收端进行CRC校验时,余数不为零。这往往是因为CRC校验算法本身是有问题的,但不妨碍我们进行校验。接收端可以对需要校验的字段带入CRC校验算法,计算得到校验值,并与发送数据中的校验值进…

CRC校验码计算,以常用CRC-8为例

CRC即循环冗余校验码:是数据通信领域中最常用的一种查错校验码,其特征是信息字段和校验字段的长度可以任意选定。 CRC校验原理:在要发送的帧后面附加一个数,生成一个新帧发送给接收端。它要使所生成的新帧能与发送端和接收端共同…

CRC校验码举例

CRC校验码举例 一、首先复习一下异或运算(XOR),相同得0,相异得1. 二、多项式算数 使用多项式算数是为了是为了在进行二进制计算时无需考虑进位问题。 CRC中用到的除数正是由多项式的各项系数组成。 比如1,CRC除数为10111。 三、…