Как я могу представить целое число на 128 битов в Java или C++? [закрытый]

11
задан RAnders00 26 March 2016 в 23:05
поделиться

7 ответов

В Java вы можете использовать класс BigInteger для хранения произвольно больших целых чисел. В C ++ вы можете использовать такую ​​библиотеку, как GMP , чтобы получить ту же функциональность.

14
ответ дан 3 December 2019 в 04:51
поделиться

java.math.BigInteger

Для работы с целыми числами, размер которых превышает 64 бита (размер длинного числа), используйте java.math.BigInteger. Этот класс представляет неограниченные целые числа и предоставляет ряд методов для выполнения с ними арифметических операций.

http://leepoint.net/notes-java/data/numbers/10biginteger.html

Если вам нужны десятичные значения, используйте BigDecimal

0
ответ дан 3 December 2019 в 04:51
поделиться

Конечно, вы можете использовать класс BigInteger в пакете java.math. Этот класс обеспечивает операции для модульной арифметики, вычисления НОД, проверки простоты, генерации простых чисел, манипуляции с битами, например операций.

Этот класс был добавлен в сам JDK1.1 .

Но я не знаю, есть ли такая возможность, встроенная в библиотеку C ++. Может быть расширяемый API от третьих лиц.

0
ответ дан 3 December 2019 в 04:51
поделиться

Напишите свой собственный класс и операции для представления 128-битных чисел или используйте какую-нибудь доступную библиотеку.

-10
ответ дан 3 December 2019 в 04:51
поделиться

Можно. Хотя, скорее всего, для этого придется использовать библиотеку, по крайней мере, для C++.

Мне нравится библиотека PolarSSL или библиотека GNU MP Bignum.

2
ответ дан 3 December 2019 в 04:51
поделиться

Конечно, вы можете их представлять.

По крайней мере вы можете использовать байтовый массив с 16 элементами.

Однако, вопрос в том, хотите ли вы просто представить значение или действительно сделать с ним некоторые вычисления.

В Java вы можете использовать BigInteger для представления (фактически) произвольного размера целочисленных значений и также производить вычисления.

16
ответ дан 3 December 2019 в 04:51
поделиться

Класс BigInteger предназначен для целочисленных значений, превышающих Long.MAX_VALUE.

1
ответ дан 3 December 2019 в 04:51
поделиться