Создать BigInt со строкой, закодированной в базу 16 - PullRequest
5 голосов
/ 10 ноября 2011

Я пытаюсь проанализировать строку следующим образом:

f2cff0a43553b2e07b6ae3264bc085a

в BigInt, однако при использовании конструктора String для BigInt я, очевидно, получаю исключение формата числа:

BigInteger bi = new BigInteger("f2cff0a43553b2e07b6ae3264bc085a");

Есть идеи, как мне это сделать?

Ответы [ 3 ]

8 голосов
/ 10 ноября 2011

Используйте параметр radix:

BigInteger bi = new BigInteger("f2cff0a43553b2e07b6ae3264bc085a", 16);

3 голосов
/ 10 ноября 2011

Просто используйте конструктор с основанием (используя 16 как основание):

http://download.oracle.com/javase/6/docs/api/java/math/BigInteger.html#BigInteger%28java.lang.String,%20int%29

1 голос
/ 10 ноября 2011

Я думаю, вам просто нужно указать, что строка в шестнадцатеричном формате. Попробуйте

BigInteger bi = new BigInteger("f2cff0a43553b2e07b6ae3264bc085a",16);

http://www.java2s.com/Code/Java/Data-Type/ParsehexadecimalstringtocreateBigInteger.htm http://download.oracle.com/javase/1,5,0/docs/api/java/math/BigInteger.html#BigInteger(java.lang.String, int)

...