问题标签 [integer-division]

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 投票
5 回答
25062 浏览

c - 在 C 语言中,查看一个数是否可​​被另一个数整除的最佳方法是什么?

在 C 语言中,查看一个数是否可​​被另一个数整除的最佳方法是什么?我用这个:

反正有哪个更快吗?我知道做,即 130 % 13 将导致每 10 次做 130 / 13。所以有 10 个周期只需要一个(我只想知道 130 是否可以被 13 整除)。

谢谢!

0 投票
3 回答
384 浏览

c++ - 除法不跨越字节

我正在尝试对uint128_t由 2 uint64_ts 组成的除法。奇怪的是,该函数uint64_t仅适用于 s 设置的下限值和上限值 = 0。我不明白为什么。

这是除法和位移的代码

请忽略我对内存管理的公然无视。

0 投票
1 回答
1120 浏览

javascript - 具有浮点运算的一致整数除法

我需要在 JavaScript 中进行整数除法,这只能让我使用双精度浮点数。通常我会做Math.floor(a / b)(或a / b | 0)并完成它,但在这种情况下,我正在做同步执行的模拟,并且需要确保机器和运行时之间的一致性,无论它们使用 64 位还是 80 位内部精度。

到目前为止,我还没有注意到任何不一致之处,但我无法最终说服自己它们不会发生。所以我想知道:

  1. 假设ab分别是 0..2^31-1 和 1..2^31-1 范围内的整数,JavaScript Math.floor(a / b)(和a / b | 0)的结果是否保证在机器和运行时之间保持一致?

  2. 为什么或者为什么不?

0 投票
6 回答
2006 浏览

c# - C#双、十进制问题

为什么会这样计算:double number = (13 /(13+12+13))

等于0?

我认为应该在 0.34 左右!

谢谢!

0 投票
6 回答
5954 浏览

c++ - div 函数有用吗(stdlib.h)?

在 C、C++ 中有一个名为 div 的函数(stdlib.h)

但是 C、C++ 有 / 和 % 运算符。

我的问题是:“当有 / 和 % 运算符时, div 函数有用吗?”

0 投票
4 回答
942 浏览

opengl - 你能装饰一个十六进制常量,让它被解释为一个浮点数吗?

只是对某事感到好奇。在将 HTML 颜色(其单个颜色分量通过 2 位十六进制值表示)转换为 0.0 到 1.0 之间的浮点数以便我们可以将它们与 OpenGL 一起使用时,我开始好奇一些事情。我们必须将十六进制值除以 255 才能得到对应的 OpenGL 值,但我们不能简单地按原样使用十六进制值,因为这会产生整数除法。

现在我知道这些都可以解决这个问题(当然)......

...但我想知道是否有任何方法可以仅装饰十六进制值,以便将其解释为浮点数(就像您在 1.0f 中使用“f”一样),而无需进行强制转换、计算或临时变量。

这些当然不行……

同样,不要试图找出如何实现我需要的结果,因为我的代码工作得很好。我只是想知道我是否可以通过使用类似于'f'如何处理十进制值而不是使用上述三种有效的方法来装饰十六进制值来使代码更清晰。

0 投票
2 回答
785 浏览

c++ - Visual C++ 生成 DIV 而不是 IDIV(x86,整数运算)

我在这里使用 Visual C++ 2008 (9.x),当我遇到生成 DIV 而不是 IDIV 的编译器时,我正在准备一个定点值。我将代码折叠成一小块以准确重现:

我不会用简单的拆卸来打扰你。

现在不是走捷径,只是改变除数的类型(它是一个函数参数,unsigned int numPixels),我想知道是什么让编译器在第三个(test3)案例中选择 DIV 而不是 IDIV,因为它没有这样做无符号的 16 位除数,实际上没有任何东西需要无符号算术。至少我是这么想的,我希望我错了:)

0 投票
3 回答
13737 浏览

vb.net - \ 是否在 VB 中执行整数除法?

在 VB.NET 中,即使两个操作数都是整数,/运算符也会导致值是浮点数(如果结果是非整数)。

所以我尝试使用\产生整数值的运算符,而与操作数无关。
所以我认为\是整数除法。

2.5 \ 3结果0

现在我试过了1.5 \ 2。我希望它是,0但它导致了1.
现在,它是错误还是正确的结果?运营商究竟是什么
\

如果它是一个错误,它就存在于 VB6 中。

0 投票
4 回答
61015 浏览

java - 为什么整数除法代码给出错误的答案?

我在 Java 中有一个非常简单的划分(它是每小时的产品数量/产量),但是每当我进行这个划分时,我都会遇到奇怪的错误:

我已经用几个值尝试了上述除法,但我总是得到错误,但是我在其他任何地方都尝试过并且正确的一个是:

世界各地:

爪哇:

我研究过 BigDecimal 和 BigInteger,但是我还没有找到一种方法来用它们创建这个除法,还有没有其他方法可以在 Java 中进行这种除法而不会出现精度错误?

任何帮助将不胜感激。

0 投票
1 回答
2435 浏览

linux - Linux 中的 do_div() 是否适用于 32 位和 64 位架构?

我需要在内核模块中进行整数除法,为此我正在使用 do_div() 。它似乎可以在我的机器上运行(我有一个 i686 处理器),但是我不确定它是否可以在任何地方运行。任何人都可以确认是否do_div()应该在 32 位和 64 位架构中正常运行,或者是否有任何已知的限制?

我使用带有内核 2.6.38 的 Ubuntu 10.04,所以我对支持 >= 2.6.38 的内核很感兴趣。

如果有人知道在内核中进行整数除法的更好方法,我也会感兴趣do_div()

最好的祝福

丹尼尔