BigInteger NumberFormatException с шестнадцатеричным вводом

Я продолжаю получать java.lang.NumberFormatException.forInputString "9299ff" Нужно ли мне преобразовать его в десятичное, чтобы использовать умножение? Я не уверен, почему я продолжаю получать эту ошибку.

static BigInteger newP = new BigInteger("9299ff7061bff2d10d9b19653454453d6aed058b5331bea66a4b24e997aca5b6408e050f8e53d99be3f81f563a46b1dbfb51ff739c98f9ad38de2e2d48fdc6ba125604e15f6b76a03e3d64c09bfc7f5c635f80ca55747cf7d0f4839da6ceeb2c43e329021c6fd91f030251ef95180226d50dc1b4395471c69d60a676b263d2bb9f59884914db356bc6fe58d00a999c605a8cf6d246988531ffb79881501383dc092dcb97173c68d2548b7155006b31444cc7ab5c42b57128cd806d02c760e391");
static BigInteger newQ = new BigInteger("a3ec1a1cf64063fd97ad6a24e3509e6d04c36d5be75e3e567b4c713ee6bbbb3bbdcdfb6f89796a6e5d16624ccccff1d154a3b7e5d08a183be9b6e269031224f2d8e454541e22b6a71754a25385b5fdb1b54c69840d6336129d1f02bc39c155a849dfbed96bac2588a50b316499b84430b6104008852ba2b0c09601ca94aa591ff9f31fc6a8df338019e3bb83b5cad61a3bc76dede4d1224aed8c9d7883f8bbcb677164a2138592973af4dbd92bd9e7fcfcc4bbbf19e295bbb6ed14dc5c680311");
final static BigInteger newM = BigInteger.valueOf(65537);
static BigInteger newN = newP.multiply(newQ);


System.out.println(newN);

Вам необходимо указать систему счисления, если она отличается от 10, BigInteger("yournumber", 16)

m0skit0 01.10.2018 17:09

Спросите себя: если я напишу new BigInteger("15"), откуда вы узнаете, что база равна 10, это также может быть база 70. Вы должны сказать ему, что у вас есть база 16.

luk2302 01.10.2018 17:09
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
0
2
97
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Система счисления по умолчанию - 10, вы можете указать систему счисления с помощью BigInteger​(String val, int radix), попробуйте:

BigInteger newP = new BigInteger("your input", 16);

вы также можете включить тот факт, что метод OP использует по умолчанию систему счисления 10.

luk2302 01.10.2018 17:18

Другие вопросы по теме