浮点数的表示

王道考研ppt总结:

二、个人理解

浮点数解决的是定点数的位数局限,导致表示范围有限的问题

阶码:由阶符和数值部分组成,阶符为+,小数点向左移动,否则向右移动;数值部分,是底数的几次幂
尾数:有数符,有数值部分,数符表示整个数据的正负数,数值部分表示数据的精度
因此:
阶码反映数据的大小(小数点的实际位置),尾数反映数据的精度
阶码E的位数决定了这个数据所能表示的最大和最小范围
尾数的位数决定了这个数据所能表示的精度的范围,尾数越多精度越高,反之越低

二进制的浮点数表示:
阶码:常用补码或者移码表示的定点整数(也就是说,要将之翻译成为真值才能确定小数点移动的多少)
尾数:原码或者补码表示的定点小数


尾数的规格化:
原因是,浮点表示定点小数时,尾数的最高位如果是0,那么这个0毫无意义,对这个数据的精度没有意义
所以,为了增加数据的精度,可以把尾数向左移动,让更小的位权的数据得以存储,这样会保留更高的数据精度
但是,与此同时,尾数向左移动了,需要让阶码减小对应的大小,用以抵消
这种尾数向左移动的方式,让精度更加准确的方式叫做左规

右规:
当两个浮点定点小数进行加法时,有可能会出现溢出
溢出时,双符号位会出现不同,更高位的符号位是正确的符号位
所以,为了挽回溢出,将溢出的结果,向右移动一位,补更高位的符号位
对应的阶码+1

总之,规格化要做的是确保数据的精度更高
如果是尾数的最高位无效,那么左移;
如果是尾数的溢出,那么右移。

当用原码表示尾数时:
正数,表示的最大值为0.11...11,最小值为0.10...0
负数,表示的最大值为1.10...00,最小值为1.11...1

原码表示尾数:尾数最高有效位必须是1
补码表示尾数:尾数最高位必须和尾数符号位相反

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

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

相关文章

【CSS】一篇文章讲清楚screen、window和html元素的位置:top、left、width、height

一个Web网页从内到外的顺序是: 元素div,ul,table... → 页面body → 浏览器window → 屏幕screen 分类详情屏幕screen srceen.width - 屏幕的宽度 screen.height - 屏幕的高度(屏幕未缩放时,表示屏幕分辨率) screen.availLeft …

Electron 桌面端应用的使用 ---前端开发

Electron是什么? Electron是一个使用 JavaScript、HTML 和 CSS 构建桌面应用程序的框架。 嵌入 Chromium 和 Node.js 到 二进制的 Electron 允许您保持一个 JavaScript 代码代码库并创建 在Windows上运行的跨平台应用 macOS和Linux——不需要本地开发 经验。 入门…

Spring Boot - 利用MDC(Mapped Diagnostic Context)实现轻量级同步/异步日志追踪

文章目录 Pre什么是MDC(Mapped Diagnostic Context)Slf4j 和 MDC基础工程工程结构POMlogback-spring.xmlapplication.yml同步方式方式一: 拦截器自定义日志拦截器添加拦截器 方式二: 自定义注解 AOP自定义注解 TraceLog切面 测试…

解析器模式:面向对象设计中的表达式评估与语法树构建策略

解释器模式(Interpreter Pattern)是一种行为设计模式,它定义了一种语言,并使用该语言来解释句子。这种模式用于描述如何构成一个简单的语言解析器。在Java中实现解释器模式通常涉及一个抽象表达式接口、具体表达式类(终…

HCIP课后习题之一

1、路由协议用工作机制上分为那几种?分别是? A:两种。分别是静态路由和动态路由(可分为IGP和EGP) 2、IGP和EGP协议有哪些? A:IGP: RIP、OSPF、ISIS、EIGRP EGP: BGP 3、路由优先级的用途&…

Leetcode - 周赛392

目录 一,3105. 最长的严格递增或递减子数组 二,3106. 满足距离约束且字典序最小的字符串 三,3107. 使数组中位数等于 K 的最少操作数 四,3108. 带权图里旅途的最小代价 一,3105. 最长的严格递增或递减子数组 本题求…

Steam平台游戏发行流程

Steam平台游戏发行流程 大家好我是艾西,一个做服务器租用的网络架构师也是游戏热爱者,经常在steam平台玩各种游戏享受快乐生活。去年幻兽帕鲁以及雾锁王国在年底横空出世,幻兽帕鲁更是在短短一星期取得了非常好的成绩,那么作为游戏…

Python工程师面试高频题:return 和 yield之间到底有啥区别?

在编程语言 Python 中,yield 和 return 是两个在函数中用于返回值的关键字,但它们在功能和使用场景上有着本质的区别。理解这两者的区别,对于编写更高效、更灵活的 Python 代码至关重要。 看图说话 首先我们来看下面这张图片,该…

【C++】STL学习之vector的使用

🔥博客主页: 小羊失眠啦. 🎥系列专栏:《C语言》 《数据结构》 《C》 《Linux》 《Cpolar》 ❤️感谢大家点赞👍收藏⭐评论✍️ 文章目录 前言一、默认成员函数1.1 默认构造1.2 拷贝构造1.3 析构函数1.4 赋值重载 二、迭…

系统架构最佳实践 -- 金融企业的资损防控

一、资损产生的原因 由于支付行业的特殊性与复杂性(主要处理资金相关业务),支付公司处于资损的风口浪尖,最容易发生资损,可以说资损风险无处不在。 常规来说,资损原因主要可以分为以下三类: 1…

【数据结构】树与二叉树遍历算法的应用(求叶子节点个数、求树高、复制二叉树、创建二叉树、二叉树存放表达式、交换二叉树每个结点的左右孩子)

目录 求叶子节点个数、求树高、复制二叉树、创建二叉树、二叉树存放表达式、交换二叉树每个结点的左右孩子应用一:统计二叉树中叶子结点个数的算法写法一:使用静态变量写法二:传入 count 作为参数写法三:不使用额外变量 应用二&am…

Mybatis中SqlSession接口中的selectList方法

1、SqlSession SqlSession是Mybatis持久层框架提供的接口,该接口中包含了大量的CRUD操作方法(既增删改查方法)。 2、selectList方法 selectList方法是用于查询的方法,该方法具有多态性,如图所示(打开myb…