标签: biginteger

java:在BigInteger的情况下如何进行循环工作

我想将用户的输入作为Big-Integer并将其操作为For循环

BigInteger i;
for(BigInteger i=0; i<=100000; i++) {
    System.out.println(i);
}
Run Code Online (Sandbox Code Playgroud)

但它不会起作用

有谁能够帮我.

java biginteger

25
推荐指数
1
解决办法
3万
查看次数

BigInteger.toString方法正在删除前导0

我正在尝试使用MessageDigest生成MD5总和.我有以下代码.

byte[] md5sum = digest.digest();
BigInteger bigInt = new BigInteger(1, md5sum);
output = bigInt.toString(16);
Run Code Online (Sandbox Code Playgroud)

这不返回32个字符串,而是返回31个字符的字符串 8611c0b0832bce5a19ceee626a403a7

期望的字符串是 08611c0b0832bce5a19ceee626a403a7

输出中缺少前导0.

我尝试了另一种方法

byte[] md5sum = digest.digest();
output = new String(Hex.encodeHex(md5sum));
Run Code Online (Sandbox Code Playgroud)

输出正如预期的那样.

我检查了doc并且Integer.toString根据它进行了转换

使用Character.forDigit提供的数字到字符映射,如果合适,前缀为减号.

并在Character.forDigit方法

如果0 <= digit <radix,则数字参数有效.

有人可以告诉我两种方法有何不同以及为什么删除前导0?

java tostring biginteger

25
推荐指数
3
解决办法
1万
查看次数

byte []到unsigned BigInteger?

动机: 我想将哈希值(MD5/SHA1等)转换为十进制整数,以便在Code128C中制作条形码.为简单起见,我更喜欢所有得到的(大)数字为正数.

我能够在C#中将byte []转换为BigInteger ...
从我到目前为止的示例:

byte[] data;
byte[] result;
BigInteger biResult;

result = shaM.ComputeHash(data);
biResult = new BigInteger(result);
Run Code Online (Sandbox Code Playgroud)

但是(这里生锈的CS)我更正确的是,字节数组总是可以用两种方式解释:A:作为有符号数B:作为无符号数

是否可以从C#中的byte []创建一个UNSIGNED BigInteger?

我应该简单地在字节[]的前面加一个0x00(零字节)吗?

编辑:感谢AakashM,Jon和Adam Robinson,在我需要的地方添加零字节.

编辑2:我应该做的主要是阅读BigInteger(byte [])构造函数的详细文档,然后我会看到有关如何通过附加零字节限制为正数的部分.

c# arrays numeric biginteger

24
推荐指数
5
解决办法
1万
查看次数

如何在Python中生成"大"随机数?

如何在Python中生成一个大的(超过64位)随机整数?

python random biginteger

24
推荐指数
1
解决办法
1万
查看次数

C++处理非常大的整数

我使用RSA算法进行加密/解密,为了解密文件,你必须处理一些非常大的值.更具体地说,像

P = C^d % n
  = 62^65 % 133
Run Code Online (Sandbox Code Playgroud)

现在这真的是唯一不适当的计算.我尝试过使用Matt McCutchen的BigInteger库,但是在链接过程中我遇到了很多编译错误,例如:

encryption.o(.text+0x187):encryption.cpp: undefined reference to `BigInteger::BigInteger(int)'

encryption.o(.text+0x302):encryption.cpp: undefined reference to `operator<<(std::ostream&, BigInteger const&)'

encryption.o(.text$_ZNK10BigIntegermlERKS_[BigInteger::operator*(BigInteger const&) const]+0x63):encryption.cpp: undefined reference to `BigInteger::multiply(BigInteger const&, BigInteger const&)'
Run Code Online (Sandbox Code Playgroud)

所以我想知道处理RSA算法产生的真正大整数的最佳方法是什么.

我听说有可能将你的变量声明为双倍长,所以......

long long decryptedCharacter;
Run Code Online (Sandbox Code Playgroud)

但我不确定可以存储多大的整数.


好吧,例如,我尝试使用dev C++编译并运行以下程序:

#include iostream

#include "bigint\BigIntegerLibrary.hh"

using namespace std;

int main()
{
    BigInteger a = 65536;
    cout << (a * a * a * a * a * a * a * a);
    return 0;
}
Run Code Online (Sandbox Code Playgroud)

然后我得到了那些错误.

Derek,我认为通过包含BigIntegerLibrary.hh文件,编译器会经历并编译它将使用的所有必要文件. …

c++ integer rsa biginteger

23
推荐指数
4
解决办法
7万
查看次数

BigInteger的对数

我有一个BigInteger数字,例如超过2 64.现在我想计算该BigInteger数字的对数,但该方法BigInteger.log()不存在.如何计算我的大BigInteger值的(自然)对数?

java math logarithm biginteger

23
推荐指数
3
解决办法
1万
查看次数

BigInteger中的乘法时间

我的迷你基准:

import java.math.*;
import java.util.*;
import java.io.*;
public class c
{
    static Random rnd = new Random();
    public static String addDigits(String a, int n)
    {
        if(a==null) return null;
        if(n<=0) return a;
        for(int i=0; i<n; i++)
            a+=rnd.nextInt(10);
        return a;
    }
    public static void main(String[] args) throws IOException
    {
        int n = 10000; \\number of iterations
        int k = 10;    \\number of digits added at each iteration

        BigInteger a;
        BigInteger b;

        String as = "";
        String bs = "";
        as += rnd.nextInt(9)+1; …
Run Code Online (Sandbox Code Playgroud)

java benchmarking biginteger

23
推荐指数
1
解决办法
1415
查看次数

如何在javascript中处理大数字

我正在寻找一个处理真实(长,大,巨大,风暴)数字的数学解决方案.我还没有找到任何东西,但我不想认为这个问题目前还没有解决.我正在寻找一个简单的数字解决方案,如Microsoft Excel Precision(30位小数)或BigInteger(Java)解决方案.在Javascript当然.

javascript floating-point decimal biginteger bignum

22
推荐指数
2
解决办法
4万
查看次数

c ++中的大数字库

我正在做一个需要非常大的数字,最多100位的项目.我已经读过java支持大整数(java.Math.BigInteger),我想知道C++中是否有类似的东西.所以,这是我的问题:是否存在实现大整数的标准或非标准c ++库?

注意:如果没有大整数的标准实现,我想要一个简单的非标准.提前致谢.

c++ biginteger

22
推荐指数
3
解决办法
4万
查看次数

java.math.BigInteger无法强制转换为java.lang.Long

我有List<Long> dynamics.我希望得到最大的结果Collections.这是我的代码:

List<Long> dynamics=spyPathService.getDynamics();
        Long max=((Long)Collections.max(dynamics)).longValue(); 
Run Code Online (Sandbox Code Playgroud)

这是我的getDynamics:

public List<Long> getDynamics() {

        Session session = null;

        session = this.sessionFactory.getCurrentSession();
        Query query = session
                .createSQLQuery("SELECT COUNT(*) FROM SpyPath WHERE DATE(time)>=DATE_SUB(CURDATE(),INTERVAL 6 DAY) GROUP BY DATE(time) ORDER BY time;");

        List<Long> result = query.list();
        return result;

    }
Run Code Online (Sandbox Code Playgroud)

现在我来了java.math.BigInteger cannot be cast to java.lang.Long.怎么了?

java collections hibernate biginteger long-integer

22
推荐指数
3
解决办法
10万
查看次数