0

我正在尝试在 Java 中实现 RSA 攻击,我需要计算诸如 floor 和 ceil 到 BigInteger 变量的数学运算。我们知道 math.ceil 和 math.floor 仅适用于双变量,你知道我可以用其他方法计算 BigIntegers 的 floor 和 ceil 吗?谢谢你。

4

2 回答 2

2

这个问题没有意义: floor 和 ceil 将浮点数舍入为整数。猜猜看:BigInteger 只能表示整数。所以不需要四舍五入。(特别是 RSA 上下文强调整数字符)。

于 2012-04-03T04:35:56.397 回答
2

由于 BigInteger 值是整数,我假设您需要除法运算的上限和下限。为此,我建议您改用BigDecimal。它有一个divide采用另一个 BigDecimal 和一个MathContext的方法。在 MathContext 中,您可以将舍入模式指定为天花板或地板(以及其他)。

如果您只需要向零舍入,您也可以使用BigDecimal.divideToIntegralValue.

于 2012-04-03T04:39:41.133 回答