问题标签 [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 投票
6 回答
9207 浏览

java - Python-style integer division & modulus in C

In Python and Ruby, signed integer division truncates towards negative infinity, and signed integer modulus has the same sign the second operand:

However, in C and Java, signed integer division truncates towards 0, and signed integer modulus has the same sign as the first operand:

What is the simplest and most efficient way in C to perform the same kind of division and modulus as in Python and Ruby?

0 投票
10 回答
55336 浏览

puzzle - 检查一个数是否能被3整除

编写代码来判断一个数是否能被 3 整除。函数的输入是单个位,0 或 1,如果目前收到的数字是能被 3 整除的数字的二进制表示,则输出应为 1,否则零。

例子:

这是基于一个面试问题。我要求绘制逻辑门,但由于这是 stackoverflow,我将接受任何编码语言。硬件实现(verilog 等)的奖励积分。

第 a 部分(简单):第一个输入是 MSB。

B 部分(稍微难一点):第一个输入是 LSB。

c 部分(困难):( a) 或 (b) 哪个更快更小?(理论上不是 Big-O 意义上的,但实际上更快/更小。)现在采用较慢/较大的,并使其与更快/较小的一样快/小。

0 投票
3 回答
18356 浏览

python - 如何在 python 中对 datetime.timedelta 执行除法?

我希望能够做到以下几点:

或者

但时间增量不支持除法运算。有没有办法可以为 timedeltas 实现除法?

编辑:看起来这已添加到 Python 3.2(感谢 rincewind!):http ://bugs.python.org/issue2706

0 投票
2 回答
900 浏览

double - 双打除法不准确(Visual C++ 2008)

我有一些代码可以将 QueryPerformanceCounter 返回的时间值转换为以毫秒为单位的双精度值,因为这样计算起来更方便。

该函数如下所示:

我最近遇到的问题(我认为我之前没有遇到过这个问题,并且没有对代码进行任何更改)是结果不是很准确。结果不包含任何小数,但精确度甚至低于 1 毫秒。

当我在调试器中输入表达式时,结果与我预期的一样准确。

我知道双精度不能保持 64 位整数的精度,但此时,PerformanceCounter 只需要 46 位(双精度应该能够存储 52 位而不会丢失)此外,调试器使用似乎很奇怪用不同的格式来做除法。

这是我得到的一些结果。该程序在调试模式下编译,C++ 选项中的浮点模式设置为默认值(精确 (/fp:precise) )

有谁知道为什么调试器 Watch 中的精度与我的程序中的结果不同?

更新:在进行转换和除法之前,我尝试从 timerPerformanceCounter.QuadPart 中减去 30270310439445,现在它在所有情况下似乎都是准确的。也许我现在只看到这种行为的原因可能是因为我的计算机的正常运行时间现在是 16 天,所以值比我习惯的要大?所以这似乎是一个大数字的划分精度问题,但这仍然不能解释为什么在 Watch 窗口中划分仍然正确。它的结果是否使用比双精度更高的类型?

0 投票
4 回答
48664 浏览

java - Java,BigDecimal。分工问题

我正在尝试计算百分比“因子”。也就是说,给定 20%,将其转换为 0.2(我的意图是稍后将值乘以该值并获得 20% 的值)。

无论如何,这个问题与这段代码有关:

我希望这样的结果是这样的:

而是percentage.divide(hundred, roundingMode);返回零,因此我得到:

我究竟做错了什么?如何正确划分两个大小数?

顺便说一句,我使用的BigDecimal是因为我将计算货币百分比,所以我想控制四舍五入。

0 投票
8 回答
13656 浏览

algorithm - 没有除法运算符的处理器上的汇编 mod 算法

我需要实现一个简单的宏,在没有除法运算符的处理器上找到两个数字的模(想想 ARM)。我可以通过重复减法来使用除法,但我不知道这是否是最有效或最容易使用的。

有什么建议么?代码会更有帮助。这个特殊的类让我们使用 SPARC 的一个子集,所以大多数操作看起来像这样:add r1, r2, rdest.

这个特定的赋值要求检查a mod b == 0除法的余数是否为零。因此,任何有关有效实施的提示或建议都将受到欢迎。

0 投票
2 回答
26845 浏览

plsql - 两个 PL/SQL 选择语句的结果相除

我的两个 PL/SQL 选择语句的结果是整数 27 和 50,我希望它们的除法 (27/50) 输出时为 0.54...怎么做?

我试过 select * from ((select....)/(select ...)) 但它不起作用!!

0 投票
4 回答
2487 浏览

c - 我需要一个快速的 96 位 64 位特定除法算法,用于定点数学库

我目前正在编写一个快速的 32.32 定点数学库。我成功地使加法、减法和乘法正常工作,但我很困于除法。

给那些不记得的人一点提醒:32.32 定点数是一个具有 32 位整数部分和 32 位小数部分的数字。

我想出的最佳算法需要 96 位整数除法,这是编译器通常没有内置的。

无论如何,这里是:

如您所见,(a2*G*G)保证大于常规的 64 位整数。如果我的编译器实际上支持 uint128_t,我只需执行以下操作:

好吧,他们不是,我需要一个解决方案。谢谢您的帮助。

0 投票
3 回答
1967 浏览

integer - 有符号 64 x 32 整数除法

假设您有一个机器指令 udive,它通过取(32 位被除数 << 32)/32 位除数来执行特殊情况 64 x 32 无符号除法,我们可以使用以下方法进行完整的 64 x 32 除法:

然而,签署的案例给我带来了问题。假设一个等效的 sdive 指令执行 udive 的签名版本,我无法完全弄清楚如何处理余数等等。

0 投票
2 回答
6460 浏览

java - 更改 JSlider 的可显示标签?

我有一个 JSlider,最小值为 0,最大值为 10,000。我将主要刻度线设置为 1,000。如果我现在绘制标签,它们将显示为 0、1000、2000、3000、4000 等。我希望显示的是 0、1、2、3、4、5 等。是完成这项任务的好方法吗?