计算机中数据的表示:定点数、浮点数

news2024/11/25 17:27:06

文章目录

  • 1 概述
  • 2 定点数
    • 2.1 表示方法
    • 2.2 取值范围
    • 2.3 运算方法
  • 3 浮点数
    • 3.1 表示方法
    • 3.2 运算方法
  • 4 扩展
    • 4.1 等比数列前 n 项和公式

1 概述

数字
定点数:小数点位置固定不变
浮点数:小数点位置相对改变

2 定点数

2.1 表示方法

定点数描述
定点整数纯整数。约定小数点在有效数值位之后
定点小数纯小数。约定小数点在符号位之后,有效数值位之前

在这里插入图片描述

说明:
① 符号位:0 表示正数,1 表示负数
② 隐含:计算机并不存储小数点,此处的小数点是逻辑概念,故称为 隐含
③ 补码:计算机中的数据以 补码 的形式进行存储

2.2 取值范围

码制定点整数定点小数
最小值最大值最小值最大值
原码 -(2n-1 - 1) +(2n-1 - 1) -(1 - 2-(n-1)) +(1 - 2-(n-1))
反码
补码 -2n-1 -1
移码

取值范围理解:当 n = 8 时
定点整数
   ① 最小值为:1111 1111 = − ( 2 n − 1 − 1 ) -(2^{n-1} - 1) (2n11)
   ② 最大值为:0111 1111 = + ( 2 n − 1 − 1 ) +(2^{n-1} - 1) +(2n11)
   ③ 补码、移码的最小值为:1000 0000 = -128 = − ( 2 n − 1 ) -(2^{n-1}) (2n1) // 特殊
定点小数
   ① 最小值为:1.111 1111 = − ( 2 − 1 + 2 − 2 + 2 − 3 + . . . + 2 − ( n − 1 ) ) = − 1 2 ( 1 − 1 2 n − 1 ) 1 − 1 2 = − ( 1 − 2 − ( n − 1 ) ) -(2^{-1} + 2^{-2} + 2^{-3} + ... + 2^{-(n-1)}) = - \frac{\frac{1}{2}(1 - \frac{1}{2}^{n-1})}{1 - \frac{1}{2}} =-(1 - 2^{-(n-1)}) (21+22+23+...+2(n1))=12121(121n1)=(12(n1)) (等比数列)
   ② 最大值为:0.111 1111 = + ( 1 − 2 − ( n − 1 ) ) +(1 - 2^{-(n-1)}) +(12(n1))
   ③ 补码、移码的最小值为:1.000 0001
注意:
   ① 以上最小值,最大值,都是转成 原码 后,进行比较的
   ② 补码 比 原码、反码 多一个 1000 0000 = --128 唯一特殊
   ③ 计算机中是以 补码 进行存储的
   ④ 原码 和 反码 取值范围一样,补码 和 移码 取值范围一样,可参考下表

码制定点整数定点小数
负数0正数负数正数
最小值最大值取值最小值最大值最小值最大值最小值最大值
原码 1111 1111
= -(2 7-1)
1000 0001
= -1
1000 0000 = -0
0000 0000 = +0
0000 0001
= +1
0111 1111
= +(2 7-1)
1.111 1111
= -(1-2-7)
1.000 0001
= -2-7
0.000 0001
= 2-7
0.111 1111
= 1 - 2-7
补码 1000 0000
= -2 7
1111 1111
= -1
0000 0000 = +0
= 0
0000 0001
= +1
0111 1111
= +(2 7-1)
1.000 0001
= -1
1.111 1111
= -2 -7
0.000 0001
= 2-7
0.111 1111
= 1 - 2-7

2.3 运算方法

运算符号说明
算术运算加(+)以 + 为主,减(-)、乘(x)、除(/) 可转换为 +
逻辑运算 与(&) 有 0 为 0,全 1 为 1
或(|) 有 1 为 1,全 0 为 0
非(!)0 变 1,1 变 0
按位运算 按位与(&) 有 0 为 0,全 1 为 1
按位或(|)有 1 为 1,全 0 为 0
按位取反(~)0 变 1,1 变 0
按位异或(^)相同为 0,不同为 1
左移(<<) 向左平移,右边补 0
右移(>>) 向右平移,左边 补符号位
无符号右移(>>>) 向右平移,左边补 0

在这里插入图片描述

在这里插入图片描述

3 浮点数

3.1 表示方法

  • 任何一个 R 进制数 N,可以表示为: ( N ) R = ± S ∗ R ± e (N)_R =\pm S * R^{\pm e} (N)R=±SR±e
    • S:尾数。N 的有效数字,反映了数的精度,常用补码表示的 定点小数
    • R:基值。即进制数,2、8、10、16 等,常用 2
    • e:阶码。小数点的实际位置,反映了数的范围,常用补码表示的 定点整数
    • ± \pm ±阶符、数符。表示符号位。0:正数,1:负数。
      在这里插入图片描述
  • ( N ) 2 = 1101.1001 = 0.11011001 ∗ 2 100 (N)_2 = 1101.1001 = 0.11011001 * 2^{100} (N)2=1101.1001=0.110110012100
    • 尾数 S:11011001
    • 基值 R:2
    • 阶码 e:100,也就是十进制数 4(可以理解为小数点向左移动 4 位)

3.2 运算方法

顺序步骤描述
1对阶使阶码相等(小 -> 大),也就是让两个数的数量级相同
2尾数求和/差
3规格化尾数的最高数值位必须有效(非 0)
4舍入截断法(恒舍法):强制舍去
0 舍 1 入法:舍弃位的最高位为 1,则进 1
恒置 1 法:末位恒置 1
5判断溢出阶码上溢:异常
阶码下溢:作 0

在这里插入图片描述

4 扩展

4.1 等比数列前 n 项和公式

在这里插入图片描述

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

给 a 标签设置 display:inline-block 之后 a 整体下沉

今天给一个a设置宽高&#xff0c;前提是添加了display:inline-block&#xff1b;然后发下a没有与父元素div顶部对齐&#xff0c;反而下沉了。试了好多办法都没成功&#xff0c;然后在网上找的教程。 原因 1、问题就是出在了display:inline-block;语句上&#xff0c;行内块元…

使用Python进行接口性能测试:从入门到高级

前言&#xff1a; 在今天的网络世界中&#xff0c;接口性能测试越来越重要。良好的接口性能可以确保我们的应用程序可以在各种网络条件下&#xff0c;保持流畅、稳定和高效。Python&#xff0c;作为一种广泛使用的编程语言&#xff0c;为进行接口性能测试提供了强大而灵活的工…

Redis:数据类型

一、Redis字符串(String) 1、String类型 String字符串&#xff1a;string类型是redis最基本、最简单的数据类型&#xff0c;一个key对应一个value。 String类型的二进制是安全的&#xff0c;可以包含任何数据&#xff0c;但是每一个value最大时512M 2、String命令 设置和获…

《人月神话》译文修订明细(6)-读者可以对照修改

《人月神话》译文修订明细&#xff08;1&#xff09;-读者可以对照修改 《人月神话》译文修订明细&#xff08;2&#xff09;-读者可以对照修改 《人月神话》译文修订明细&#xff08;3&#xff09;-读者可以对照修改 《人月神话》译文修订明细&#xff08;4&#xff09;-读…

前端面试题整理14

目录 1.什么是同步&#xff1f;什么是异步&#xff1f; 2.localStorage、sessionStorage和cookie的区别&#xff1f; 3.Vue中key的作用是什么&#xff1f; 4.支付流程是什么&#xff1f; 5.Vuex的模块化是如何做的&#xff1f; 6.Vite和webpack的不同&#xff1f;Vite的优…

BS LIS系统仪器数据采集方法

BS LIS系统仪器数据采集方法 BS LIS系统对检验仪器的数据采集主要通过串行口通讯、USB端口通讯、TCP/IP通讯、定时监控数据库和手工录入等几种方法。串行口通讯最为普遍&#xff0c;采用RS-232C标准&#xff0c;一般的仪器都支持此标准。定时监控数据库对仪器管理机上已有的检…

【Vue】Element Plus和Element UI中插槽使用

文章目录 前言一、两者的区别二、组件库三、具体讲解总结 前言 今天和大家讲一下Element Plus和Element UI这两个组件库中表格的插槽使用方法&#xff0c;一般情况下vue2使用Element UI这个组件库&#xff0c;表格组件的插槽的话一般都是使用v-slot&#xff0c;而vue3使用Elem…

如何进行有效的移动应用测试?10个步骤带你一战成神

移动应用的市场日益壮大&#xff0c;而随着这个市场的发展&#xff0c;如何有效地测试移动应用也成为了一个重要的问题。本文将为你提供一些关于如何进行有效的移动应用测试的建议&#xff0c;并提供一些实际测试例子。 1. 理解你的用户和使用场景 在进行移动应用测试之前&…

rror updating database. Cause: java.sql.SQLSyntaxErrorException解决方案

错误描述&#xff1a; ### Error updating database. Cause: java.sql.SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near CONDITION 1 这里是因为字段名…

Linux多线程认识

目录 &#x1f427;一、什么是线程 1.1虚拟地址如何转换成物理地址 1.2多线程 1.3Linux进程vs线程 1.4从Linux内核和CPU的角度看线程 &#x1f427;二、Linux线程控制 2.1POSIX线程库 2.2线程异常 2.3线程终止 ①exit不可以用来终止线程 ②pthread_exit() ③pthread…

Revit干货|自动捕捉遇到困难?这份秘诀请收好!

在BIM行业里&#xff0c;Revit往往影响着我们的建模效率&#xff0c;尽管软件提供了许多功能&#xff0c;但在建模过程中还是会因繁琐的操作而浪费很多时间。 因此&#xff0c;在使用Revit建模时&#xff0c;我们需要掌握一些小技巧来提升效率&#xff0c;如快捷键的使用和工具…

早餐配送APP小程序开发 轻轻一点搞定营养早餐

早餐是一日三餐中最重要的一餐&#xff0c;需要营养添加。但是现在多数的年轻人因为快节奏的生活工作二忽视了早餐的重要性&#xff0c;没有时间做就对付几口很多人甚至不吃早餐。早餐预定配送APP小程序开发解决了上班族的早餐问题&#xff0c;不用排队到早餐店去挤着买豆浆油条…

Langchain学习笔记

Langchain学习笔记 1.环境2. 1.环境 1.创建虚拟环境,名叫langchain conda create -n langchain python conda activate langcahin pip install langchain pip install openai -i https://pypi.tuna.tsinghua.edu.cn/simple2.在jupyter中使用这个虚拟环境。 conda activate l…

DG4pros 1:500地籍精度免像控实验

前言 DG4pros是睿铂目前综合性能最强大的高端倾斜摄影相机&#xff0c;它完成了许多以前在业内人士认为难以做到或者不可能完成的项目。本期&#xff0c;我们实验的内容是1:500地籍精度的免相控作业。 DG4pros倾斜摄影相机 一.实验目的 本次实验共进行两组测试&#xff0c;分…

vue项目复制----复制一个项目为另一个项目仍然访问原来老项目代码

表现就如下边这张图&#xff0c;新项目名字叫pccs&#xff0c;旧项目名字叫vue-element-admin&#xff0c;能启动&#xff0c;运行成功&#xff0c;一切正常&#xff0c;但是你会发现仍然是老项目的。 解决办法&#xff1a;

Javascript的闭包,匿名函数,自动调用

这里写目录标题 验证文本框HTMLJavascript分析var引起的赋值错误最优的解决方案forEach(function(item){})最简单的方式&#xff0c;const/let 申明一个局部变量直接使用函数通过声明函数变量的方式定义函数申明匿名函数和自动调用函数的区别 在案例的基础上分析。 验证文本框 …

未来工业的新趋势:探索智慧工厂的创新之路

随着科技的不断进步和工业的快速发展&#xff0c;智慧工厂正在逐渐改变传统的生产模式&#xff0c;成为现代工业的新趋势。智慧工厂以数字化、自动化和智能化为核心&#xff0c;通过信息技术和物联网的应用&#xff0c;实现生产线的高效运行和优化管理&#xff0c;为企业带来诸…

贾跃亭带着汽车梦回来了,FF 91 正式量产售价 220 万元

就在最近&#xff0c;许久不见的贾老板贾跃亭再度登上热搜。 原因无他&#xff0c;其 5 月 31 日召开视频发布会&#xff0c;宣布法拉第未来 FF 91 开启首批量产交付。 这一向大家画了九年的汽车大饼终于正式落地。 期间 FF 91 因为资金困境多次跳票&#xff0c;但贾老板向我…

工业树莓派的Socket通信之旅:探索智能工业应用的无限可能

一、什么是Socket通信 Socket通信是一种网络通信协议&#xff0c;用于在计算机之间进行数据传输。它提供了一种可靠的、双向的、面向连接的通信方式。通过Socket&#xff0c;计算机之间可以建立起通信链接&#xff0c;并在连接上发送和接收数据。它可以用于不同的网络协议&…

初识MYSQL组复制MGR

注&#xff1a;本文翻译自https://dev.mysql.com/doc/refman/8.0/en/group-replication.html 背景 创建容错系统的最常见方法是使组件冗余&#xff0c;换句话说&#xff0c;可以删除组件&#xff0c;而系统应继续按预期运行。这就产生了一系列挑战&#xff0c;将这类系统的复…