首页 文章
  • 410 votes
     answers
     views

    Math.Pow()是如何在.NET Framework中实现的?

    我一直在寻找一种计算ab的有效方法(比如 a = 2 和 b = 50 ) . 为了开始,我决定看一下 Math.Pow() 函数的实现 . 但在.NET Reflector中,我发现的只有: [MethodImpl(MethodImplOptions.InternalCall), SecuritySafeCritical] public static extern double Pow(doub...
  • 3 votes
     answers
     views

    我疯了还是Math.Pow坏了?

    我使用了来自here的基本转换器并将其更改为使用ulong值,但是当转换大数字时,特别是高于16677181699666568的数字时,它返回的值不正确 . 我开始研究这个并发现Math.Pow(3,34)返回值16677181699666568,而实际上3 ^ 34是16677181699666569.这因此为我投入了一个扳手 . 我认为这只是Pow方法中双精度问题?我最简单的解决方法就是创建我...
  • 3 votes
     answers
     views

    将非常大的基数n转换为字节

    我在 n ( n 由用户指定)中有一个非常大的数字,存储为一个数组,每个元素代表一个数字 . u[0] 是最高位, u[1] 是第二高位, u[-1] 是最低位,依此类推 . 前导零被理解为没有意义:例如,如果 n 为8,则 [0, 0, 0, 4, 7, 3] 等于 [4, 7, 3] 并且在基数8中等于(473),或者在基数10中为315,或者在十六进制中为 13B ,或者作为字节数组为 ...
  • 1 votes
     answers
     views

    执行具有长指数值的Math.pow()操作的最佳方法是什么?

    我正在尝试执行Math.pow()操作来查找10到长数的幂 . 结果预计会非常大,因此,我将其存储在BigInteger中 . 我试过以下: tempBigInt = java.math.BigDecimal.valueOf(Math.pow(10, i)).toBigInteger(); 我通过一个循环来运行它,其中'i'一直在增加,直到满足某个条件 . 此代码工作正常,除非它计算Math.p...

热门问题