问题标签 [arithmetic-expressions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
18554 浏览

bash - 在bash中将科学记数法转换为十进制

我想将一个以科学计数法存储的数字转换为浮点十进制数,这样我就可以对数据进行一些比较。这是在 bash 脚本中完成的 - 这是一小段代码:

我的问题是我的<操作数基本上选择了所有压力值,当我使用时,它们以科学计数法存储,而当我使用时则<没有>。我正在查看以帕斯卡而不是毫巴为单位的大气压力测量值。

这是示例输出:

这些风暴都不应该满足选择标准!

0 投票
2 回答
323 浏览

c# - 如何警告类型转换导致的潜在算术错误?

我正在使用 C# 开发一个计算模块,我遇到了这个问题:

我知道这是一个错误的初始化,它返回v = 0.0而不是v = 0.04

c# 规则说我必须确保至少有一个成员是 double,如下所示:

但是,我有很多这种涉及整数变量操作的初始化,我懒得逐行浏览我的代码来检测这些错误。

相反,编译器是否有可能对此发出警告?

0 投票
1 回答
811 浏览

prolog - 在 Prolog 中实现算术解析器

我有以下 Prolog 代码:

编译后,机器会在命令行中响应以下类型的查询“yes”:

我如何将其限制为仅数字?因此,只有涉及数字的表达式才应该是真实的,例如:| ?- expression([92,'+',23.48],[])..

0 投票
2 回答
1231 浏览

java - java中带有分隔符的2位或更多位数字

我有这个基本程序,在输入个位数时效果很好。但是当计算一个多位数的表达式时,比如 1337 - 456 + 32,程序不会继续运行......它就像我什么都没做一样。它不会冻结或输出错误消息,它只是停止。

这是代码:

帮助了解为什么会发生这种情况以及如何解决?(如果有帮助,我正在使用 netbeans)

另外,我假设输入在每个数字之间都有一个空格 例如:123 + -23 - 5

0 投票
3 回答
29263 浏览

python - 基本减法中的Python错误?

可能重复:
带有浮点数的 Python 舍入错误
python 数学是错误的

我无法让 Python 正确执行减法 1 - 0.8 并分配它。它不断地给出不正确的答案,0.19999999999999996。

我探索了一下:

并发现此错误发生在 0 到 1 到小数点后第三位的随机浮点组中。当您对这些浮点数进行平方时,也会发生类似的错误,但对不同的子集。

我希望对此进行解释以及如何使 Python 正确地进行算术运算。Usinground(x,3)是我现在正在使用的解决方法,但它并不优雅。

谢谢!

这是我的 Python 2.7.3 shell 中的一个会话:

这是我放入几个在线解释器的代码:

和输出:

0 投票
2 回答
2251 浏览

java - int 的基本算术运算 - Java

我最近注意到 Java 的一个关于 Java 中基本算术运算的特质。使用以下代码

我收到“类型不匹配”编译错误...

Java 中的基本算术运算(+, -, *, /)是否仅对原始数据类型int和更高阶(long,double等)执行,而对byteandshort的算术运算首先转换为int然后求值?

0 投票
4 回答
6104 浏览

r - 在 R 中,为什么 factorial(100) 与 prod(1:100) 的显示不同?

在 RI 中发现了一些我无法解释的奇怪行为,我希望这里有人可以。我相信100的价值!是这个大数字吗

控制台中的几行显示了预期的行为......

但是,当我尝试 100 时!我得到(注意结果数字如何开始相差约 14 位):

如果我对设置为“已知”数字 100 的变量进行一些测试!然后我看到以下内容:

最终结果的计算结果为零,但返回的数字prod( as.double( 1:100 ) )并不像我预期的那样显示,即使它正确地计算了prod( as.double( 1:100 ) ) - nwhere nis a variable set to value 100!。

谁能向我解释这种行为?据我所知,它不应该与溢出等有关,因为我使用的是 x64 系统。版本和机器信息如下:

谁能给我解释一下?我不怀疑 R 做的一切都是正确的,这很可能与 userR 相关。您可能会指出,因为prod( as.double( 1:100 ) ) - n正确评估了我在乎的东西,但我正在做Project Euler Problem 20,所以我需要显示正确的数字。

谢谢

0 投票
1 回答
565 浏览

c - C、舍入问题。UWORD、整数和双精度数

关于这些操作的结果是什么,我有几个问题。

首先,如果我有两个整数并将它们相除并将结果保存为双精度数。是否存在任何舍入问题,例如 1/2 等于 0.5 而不是 1。

其次,如果我现在有这个比率并将它乘以一个 UWORD 会有什么问题吗?

顺便说一句,当我执行这些操作时确实会收到编译器警告

0 投票
3 回答
77 浏览

visual-c++ - 在单个变量中初始化和计算的坏习惯?视觉 C++

在变量中初始化和做算术是不好的做法吗?即说我有多个不同面积尺寸的房间,我必须找到以下区域:

(以英尺为例)

还是最好这样做:

这两种方式之间是否有任何差异,或者是同一件事,只是风格问题?

0 投票
3 回答
1994 浏览

performance - 当前 CPU 的成本更高:算术运算还是条件?

20-30 年前,除法等算术运算是 CPU 成本最高的运算之一。在一段重复调用的代码中保存一个部门是显着的性能提升。但是今天的 CPU 具有快速的算术运算,并且由于它们大量使用指令流水线,因此条件会破坏有效的执行。如果我想优化代码以提高速度,我应该更喜欢算术运算而不是条件吗?

示例 1

假设我们要实现模运算n。什么会表现得更好:

或者

?

示例 2

假设我们将 24 位有符号数字转换为 32 位。什么会表现得更好:

或者

?