day3-2

news/2024/9/25 22:06:05

关于浮点数计算的精度问题。
我尝试运行了如下代码:
public class TestDouble {

public static void main(String args[]) {System.out.println("0.05 + 0.01 = " + (0.05 + 0.01));System.out.println("1.0 - 0.42 = " + (1.0 - 0.42));System.out.println("4.015 * 100 = " + (4.015 * 100));System.out.println("123.3 / 100 = " + (1235.3 / 100));
}

}
根据尝试,输出的结果应该是对应的精确整数,但真正输出的结果与我设想的不同。如下:
0.05 + 0.01 = 0.060000000000000005
1.0 - 0.42 = 0.5800000000000001
4.015 * 100 = 401.49999999999994
123.3 / 100 = 12.353
这些结果里,每个都有些许的误差, 多次尝试都是如此,也就是说,计算浮点数时,其结果是不精确的。
其原因我通过查阅资料了解到:计算浮点数时出现不精确结果的原因主要与浮点数的二进制表示有关。计算机使用二进制系统来存储和处理数字,但是并非所有的十进制小数都能被精确地转换为二进制小数。例如,十进制的0.1在二进制中是一个循环小数,无法用有限的二进制数位完全表示。因此,当这些二进制近似值被存储在计算机中时,它们会引入舍入误差。这些舍入误差在进行浮点数的算术运算时会累积,导致最终结果与预期的十进制结果不符。
这也就导致小于1的部分,也就是浮点数的小数部分输出时会有误差。

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

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

相关文章

9-12

9段好的,我会逐句翻译并解释其中的关键词汇及其发音。 1. **There are, of course, people belonging to all classes who do not want to be fascinated and then enslaved by Admass, and who if necessary are ready to make a few sacrifices, largely material, to achie…

“人民冻凉”简介

账号定位: 这是一个由 复旦大学 的学生运营的 非官方自媒体账号 。 它最大的标签就是 复旦。 其次是复旦附带的的 \(985\)、江浙沪、上海交大、清北华五 这类的 \(\text{tag}\) 。 可以简单理解为,这是一个上海版的 全元光滑 。但实际上,考虑到两者在 学校的地域、创始团队的…

02 深浅拷贝关于 str int bool

深浅拷贝 list /set /dict 一层

河道污染物识别系统

河道污染物识别系统通过深度学习技术,河道污染物识别系统对监控画面中河道污染物以及漂浮物进行全天候实时监测,当河道污染物识别系统监测到河道水面出现污染物时,立即抓拍存档触发告警并同步通知相关人员及时处理。河道污染物识别系统利用河道两旁现场摄像头可及时发现河道…

05 字典内存分配

data_list = [] for i in range(10):data = {}data[user] = idata_list.append(data) print(data_list) #每个字典都 不一样字典,列表内存指向图 data = {} for i in range(10):data[user] = i print(data)内存占用图

00 内存分配 -- 重点

要确认是进行赋值,还是找到其中, 有赋值为:重新开辟内存空间 python 将:-5~ 256为常用的数字(如果在范围类使用同一内存空间,这叫:python小数据池) 如果大于这个数值,会重新 进行开僻内存空间 字符串:如果A1 = ‘’alex A2= ‘alex , A1/A2等于同一个字符串 ,理应不…

01 内存地址 示例

示例一: v1 = [11,22,33] v2 = [11,22,33] v1 = 666 v2 = 666v1 = "asdf" v2 = "asdf"#以上数据都不是同一个内存地址# 按理 v1 和 v2 应该是不同的内存地址。特殊: 1. 整型: -5 ~ 256 2. 字符串:"alex",asfasd asdf asdf d_asdf …