浮点数的这些特性你了解吗

问题1:下面的代码,输出结果是什么:

public class CaclTest{public void test1(){float f = 1.0F / 0.0F;System.out.println("f:" + f)}public static void main(String[] args){CaclTest ct = new CaclTest();ct.test1();}}

A. 运行抛出异常:java.lang.ArithmeticException: / by zero

B. 编译报错

C. 输出Infinity

D. 输出0

解答:

答案应该是C。在Java语言中1.0F/0.0F 表示一个无穷大的数,其在内存中的表示格式为:

0 01111111 00000000000000000000000

第1位为符号位,第2-8位表示指数E,后面23位表示尾数M,即:

\pm M\times 2^{E}

同理,浮点数中还有几个特殊的数:

负无穷:NEGATIVE_INFINITY = (1.0F / -1.0F);
空: NaN = (0.0F / 0.0F);

问题2:小明为了帮会计部门统计薪水,设计了一个小程序,并写了测试用例,请问这个程序输出结果是多少?

public class CaclTest{public float sumSalary(float[] salary){float sum = 0.0F;for(int i=0;i<salary.length;i++){sum += salary[i];}        return sum;}public void test1(){float[] salarys = new float[]{100000.34f,150000.78f,200000.69f};float sum = sumSalary(salarys);System.out.println("sum:" + sum);}public static void main(String[] args){CaclTest ct = new CaclTest();ct.test1();}}

A. sum: 450001.71

B. sum: 450001.7

C. sum: 450001.8

D. sum: 450001.70

解答:

答案是C。浮点数的精度只有7,8位,超出部分会被丢弃,并不遵从10进制的四舍五入。

在设计会计类的程序时,不宜使用float浮点数进行计算,会计上要求至少精确到分,否则就会出现账不平,这是会计无法接受的,可采用 java.math.BigDecimal类进行计算处理。

说明:这道题如果要手动计算出正确答案,还是比较困难的,只是为了说明float浮点数计算式需要注意的问题。

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

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

相关文章

vue3监听子组件的生命周期

1.Vue3使用vue&#xff0c;vue2使用hook template:<compG vue:mounted"doSomething"></compG>script://监听子组件生命周期let doSomething (e: any) > {console.log("没有啊11", e);}; 2.打印结果

誉天Linux云计算课程学什么?为什么保障就业?

一个IT工程师相当于干了哪些职业? 其中置顶回答生动而形象地描绘道&#xff1a; 一个IT工程师宛如一个超级多面手&#xff0c;相当于——加班狂程序员测试工程师实施工程师网络工程师电工装卸工搬运工超人。 此中酸甜苦辣咸&#xff0c;相信很多小伙伴们都深有体会。除了典…

macOS 开发环境配置与应用开发

✅作者简介&#xff1a;2022年博客新星 第八。热爱国学的Java后端开发者&#xff0c;修心和技术同步精进。 &#x1f34e;个人主页&#xff1a;Java Fans的博客 &#x1f34a;个人信条&#xff1a;不迁怒&#xff0c;不贰过。小知识&#xff0c;大智慧。 &#x1f49e;当前专栏…

【LeetCode】动态规划—931. 下降路径最小和(附完整Python/C++代码)

动态规划—931. 下降路径最小和 前言题目描述基本思路1. 问题定义2. 理解问题和递推关系3. 解决方法3.1 动态规划方法3.2 空间优化的动态规划 4. 进一步优化4.1 空间复杂度优化 5. 小总结 代码实现Python3代码实现Python 代码解释C代码实现C 代码解释 总结: 前言 在算法的学习…

MWORKS.Sysplorer 2024b重磅推出同元基础库

一、引言 MWORKS.Sysplorer 是多领域建模与仿真平台&#xff0c;集成了Modelica标准库。该库由Modelica协会开发&#xff0c;是一款开源的通用基础模型库&#xff0c;支持机电、流体、控制等多个专业领域的建模与仿真。随着Modelica标准库的不断发展与更新&#xff0c;目前最新…

【设计模式-中介者模式】

定义 中介者模式&#xff08;Mediator Pattern&#xff09;是一种行为设计模式&#xff0c;通过引入一个中介者对象&#xff0c;来降低多个对象之间的直接交互&#xff0c;从而减少它们之间的耦合度。中介者充当不同对象之间的协调者&#xff0c;使得对象之间的通信变得简单且…

双十一不被割韭菜!2024双十一总结五款好物分享!

每年双十一购物节来临之际&#xff0c;随着心仪商品缓缓填满购物车&#xff0c;那份对即将收获的期待与内心的喜悦&#xff0c;自然而然地溢于言表。在这个优惠纷呈的购物盛宴中&#xff0c;寻找那些既符合个人需求又具备高品质的宝贝&#xff0c;成为了一项既充满乐趣又考验眼…

大语言模型在构建UNSPSC 分类数据中的应用

UNSPSC 是联合国标准产品和服务代码。UNSPSC由联合国开发计划署&#xff08;UNDP&#xff09;和Dun & Bradstreet公司&#xff08;D & B&#xff09;于1998年联合制定&#xff0c;自2003年以来一直由GS1 US管理。GS1 US 将在 2024 年底前将 UNSPSC 的管理权移交给 UNDP…

胤娲科技:揭秘AI记忆宫殿—LLM如何用动画玩转乔丹打篮球的秘密

当AI遇上“乔丹打篮球”&#xff0c;真相竟然藏在动画里&#xff1f; 想象一下&#xff0c;你向一位AI大模型轻声询问&#xff1a;“迈克尔・乔丹从事的体育运动是……”几乎在瞬间&#xff0c;它就自信满满地回答&#xff1a;“篮球&#xff01;” 这一刻&#xff0c;你是否曾…

跨境电商新风尚:一键解锁中国电商的全球代购奇迹

在全球化日益加深的今天&#xff0c;跨境电商成为了连接中国与世界消费者的桥梁&#xff0c;尤其是为国外客户代购中国电商商品的服务&#xff0c;正以一种前所未有的方式改变着国际购物体验。本文将深入探讨跨境电商代购系统的基本功能&#xff0c;揭示其背后的技术魅力与商业…

C#绘制动态曲线

前言 用于实时显示数据动态曲线&#xff0c;比如&#xff1a;SOC。 //用于绘制动态曲线&#xff0c;可置于定时函数中&#xff0c;定时更新数据曲线 void DrawSocGraph() {double f (double)MainForm.readData[12]; //display datachart1.Series[0].Points.Add(f);if (ch…

如何在云端地球建模云平台利用无人机航拍照片进行三维建模?

第一步&#xff1a;导入照片 进入云端地球工作台&#xff0c;选择【场景建模】将航拍的照片组导入。 输入模型名称&#xff08;若无则无法上传&#xff09;&#xff0c;点击【上传】&#xff0c;将照片上传到云端服务器。 第二步&#xff1a;创建任务 上传成功后点击开始处理…

生成模型常见的条件融合方式

生成模型常见的条件融合方式 目前生成模型主要有4中常见的条件融合方式以实现可控生成&#xff1a;条件归一化层&#xff0c;Decoupled Cross-Attention&#xff0c;self-attention层进行融合&#xff0c;特征值逐元素求和。本文首先介绍下各种方法现&#xff0c;然后进行总结&…

华为云LTS日志上报至观测云最佳实践

华为云LTS简介 华为云云日志服务&#xff08;Log Tank Service&#xff0c;简称 LTS&#xff09;&#xff0c;用于收集来自主机和云服务的日志数据&#xff0c;通过海量日志数据的分析与处理&#xff0c;可以将云服务和应用程序的可用性和性能最大化&#xff0c;为您提供实时、…

三维立体自然资源“一张图”

随着信息技术的发展&#xff0c;自然资源管理迎来了新的机遇与挑战。在众多技术中&#xff0c;“三维立体自然资源‘一张图’”的概念尤为引人注目。它不仅代表了地理信息科学领域的最新成果&#xff0c;也为自然资源的有效管理和可持续利用提供了强有力的支持。本文将探讨这一…

同元软控受邀出席2024第四届国际自主无人系统大会

9月19-21日&#xff0c;2024第四届国际自主无人系统大会在沈阳召开。辽宁省副省长高涛&#xff0c;沈阳市委副书记、市长吕志成出席并致辞。 本届大会由中国科学院沈阳自动化研究所、国防科技大学、西北工业大学、南京理工大学、中国航空学会共同主办&#xff0c;以“自主无人…

Webpack 特性探讨:CDN、分包、Tree Shaking 与热更新

文章目录 前言包准备CDN 集成代码分包Tree Shaking原理实现条件&#xff1a;解决 treeShaking 无效方案&#xff1a;示例代码&#xff1a; 热更新&#xff08;HMR&#xff09; 前言 Webpack 作为现代前端开发中的核心构建工具&#xff0c;提供了丰富的特性来帮助开发者优化和打…

【sw2024】solidworks2024双击setup.exe无反应管理员运行也没反应解决方法

第一步 官网下载xxclean&#xff0c;打开xxclean最新版本&#xff0c;登录。官网xxclean.com或者自己浏览器搜。 第二步 点击扩展功能&#xff0c;点击 运行sw2024安装程序无反应 右边的开始 第三步 进度百分之百之后去双击setup就有界面了。

unix中的exec族函数介绍

一、前言 本文将介绍unix中exec族函数&#xff0c;包括其作用以及使用方法。当一个进程调用fork函数创建一个新进程后&#xff0c;新进程可以直接执行原本正文段的其他内容&#xff0c;但更多时候&#xff0c;我们在一个进程中调用fork创建新的进程后&#xff0c;希望新进程能…

ApiSix 插件开发

版本 3.0.1 创建插件目录和文件 cd ./example/ mkdir -p apisix/plugins cd apisix/plugins touch my_plugin.lua结构如下&#xff1a; 编写脚本 local core require("apisix.core")local plugin_name "my_plugin"local schema {type "obje…