浮点数的使用
创作时间:
作者:
@小白创作中心
浮点数的使用
引用
CSDN
1.
https://m.blog.csdn.net/qq_39355579/article/details/141368621
浮点数是计算机中用于表示实数的一种数据类型,广泛应用于科学计算、工程设计等领域。本文将从浮点数的基本概念出发,深入探讨其在计算机中的存储方式和实现原理,帮助读者更好地理解这一重要的数据类型。
浮点运算
浮点数,英文为"float point",其字面意义就是可以漂移的小数点(浮动的小数点),用于表示含有小数的数值。在数学运算中,经常会遇到无限小数,如1/3=0.333333…无限循环。然而,计算机存储容量是有限的,需要舍弃掉一些精度,存储近似值。讨论浮点精度的目的也是在于程序中进行浮点数使用以及比较的时候更加小心。
浮点在计算机中存储
以前不同CPU的浮点表示方式是不同的,这就导致了机器之间的兼容性问题。后来英特尔发布了8087浮点处理器,被IEEE采用,成为业界的标准,被几乎所有CPU采用(有的GPU除外)。
IEEE 754定义了浮点的存储格式,如何取舍(rounding mode),如何操作(加减乘除等)以及异常处理标准(异常发生的时机与处理方式)。
首先以单精度浮点型float32为例:
float32是使用32位来表示浮点数的类型,主要有三个部分:
- sign,符号位:1bit,0是正数,1是负数
- exponent,指数部分:8bit,以2为底的指数
- fraction,有效数部分:23bit,实际表示24bit数值,浮点数具体的数值
sign
0是正数,1是负数。
exponent
指数部分使用8位,以2为底的指数。为了能够表示正负指数,采用了一个偏移量(bias),对于float32来说,这个偏移量是127。因此,实际的指数值需要将存储的值减去127。
fraction
有效数部分使用23位,但实际上表示24位数值。这是因为最高位的1在规格化表示中是隐含的,不需要显式存储。例如,对于二进制数1.101,只需要存储101,而1是隐含的。
通过这种存储方式,float32可以在有限的32位空间内表示一个范围非常大的实数,同时保持一定的精度。
本文原文来自CSDN
热门推荐
心包积液的诊断和治疗是什么
美国国会大厦建筑风格
美国国会大厦建筑风格
API 授权最佳实践
老兵们的最后一次,难说再见!
20年行业经验大佬:游戏测试发展史,如今和未来怎么做QA?
红楼梦:“玉求善贾,钗待时飞”,黛玉、宝钗和贾雨村的特殊关系
新创作、新人才、新空间共绘戏剧新篇
建筑企业挂靠法律风险和防范措施
重建自我,敢于挑战自我
AI发现大脑新模式,脑机接口被“增强”了
中国最美梯田--元阳梯田
中国最美梯田--元阳梯田
FUE植发选微针还是宝石刀?它们有何不同?
南极生活着什么动物?生活在南极的八种动物
南极洲的动物:世界末日的适应和生存
胡润百富榜历年首富盘点:从10亿到4550亿的财富变迁
宇宙级的玫瑰:麒麟座的NGC 2237
怎么查看苹果设备可降级的版本?
四本来自经理人参阅系列的经典销售书籍推荐
微信群聊屏蔽烦人消息的四种方法
八字中五个贵人男命:如何识别与利用
这种“旺盛”状态竟然是虚!?有这些症状的人要注意,小心引起严重后果
《长安十二时辰》真实的历史背景介绍
保护心脏的小卫士:心包
弗洛姆《爱的艺术》:在焦虑和孤独中,爱是一种需要学习的技能
十大零基础低成本创业好项目 低成本投资什么比较赚钱
全国十大海鲜产地大盘点:从北到南,各具特色的海鲜盛宴
春日第一鲜!这些海洋美食错过还得等一年!
澳大利亚八大名校研究生学历国内承认吗?各校优缺点分析