当前位置: 首页 > 面试题库 >

棕褐色45给我0.9999

戚兴思
2023-03-14
问题内容

为什么tan 45(弧度为0.7853981633974483)给我0.9999?以下代码有什么问题?

System.out.println(Math.tan(Math.toRadians(45.0)) );

我认为这里没有错字。

那么这里的解决方案是什么?


问题答案:

浮点计算通常会导致这种不准确性。问题在于数字不能在固定位数内准确表示。

再举一个例子(十进制),我们都同意3 * (1/3) = 1。但是,如果您的计算器只有4位小数,1/3则表示为0.3333。当这是乘以3,你会得到0.99991

作为进一步的信息,大多数系统上的浮点 通常
使用IEEE754标准表示。您可以搜索它,或参阅Wikipedia页面以获取更多详细信息。IEEE浮点



 类似资料:
  • 我试图让我的discord bot mass给我服务器中的每个人一个角色。每当我做时,它只给我角色。我尝试过使用map和array。使用

  • 作者:不详 1965年时,贝尔实验室(Bell Labs)加入一项由奇异电子(General Electric)和麻省理工学院(MIT)合作的计画;该计画要建立一套多使用者、多任务、多层次(multi-user、multi- processor、multi-level)的MULTICS操作系统。直到1969年,因MULTICS计画的工作进度太慢,该计画就被停了下来。当时,Ken Thompson(

  • 概述 连接片45°通常用于连接45°或者135°角的机械零件 参数 材质:6061铝 厚度:3mm 尺寸图纸 搭建案例

  • 问题内容: 我有一个简单的程序: 当我运行该程序时,我看到的只是用于输出。我原本希望我们会遇到第一轮,然后是,然后是etc。 这是由于这样的事实,一旦我们尝试在左侧重新声明,其值就会重置为? 如果有人可以指出我的详细情况,那将很棒。 更改为,似乎正在按预期方式打印数字。我对它达到最大32位值的速度感到惊讶! 问题答案: 该问题是由于整数溢出引起的。 在32位二进制补码算法中: 确实确实开始具有2的

  • 问题内容: 我想重写链接 这是我的现在的样子: 给我404。 有什么问题? 问题答案: 括号太多。您可能感染了Lisp。 尝试:

  • 这本书的 SQL 部分的最后一个练习是一个很大的跳跃。你使用一个数据库知道了 SQL 语言的基础知识。你也应该精通 Python 的 OOP。现在是时候组合这两个,并创建一个对象关系管理器(ORM)。ORM 的工作是,使用简单的 Python 类,并将它们转换为数据库表中存储的行。如果你曾经使用过 Django,那么你已经使用他们的 ORM 来存储数据。在本练习中,你将尝试逆向分析如何实现它。 挑