Как я могу представить 128-битное целое число в Java или C++?
Можно ли иметь 128-битное целое число в Java или C++?
7 ответов
Конечно, вы можете представлять их.
По крайней мере, вы можете использовать байтовый массив с 16 элементами.
Однако вопрос заключается в том, хотите ли вы просто представить значение или сделать с ним некоторые вычисления.
В Java вы можете использовать BigInteger
представлять (эффективно) целочисленные значения произвольного размера, а также выполнять вычисления.
В Java вы можете использовать класс BigInteger для хранения сколь угодно больших целых чисел. В C++ вы можете использовать такую библиотеку, как GMP, чтобы получить такую же функциональность.
Вы можете. Для этого вам, скорее всего, понадобится библиотека, по крайней мере для C++.
Мне нравится библиотека PolarSSL или библиотека GNU MP Bignum.
BigInteger
класс предназначен для целочисленных значений больше чем Long.MAX_VALUE
,
Конечно, вы можете использовать класс BigInteger в пакете java.math. Этот класс предоставляет операции для модульной арифметики, вычисления GCD, проверки простоты, генерации простых чисел, операций с битами, подобных операциям.
Этот класс был добавлен в сам JDK1.1.
Но я не знаю, есть ли такая возможность, встроенная в библиотеку C++. Там может быть расширяемый API от третьих лиц.
java.math.BigInteger
Для работы с целыми числами, размер которых превышает 64 бита (размер long), используйте java.math.BigInteger. Этот класс представляет неограниченные целые числа и предоставляет ряд методов для выполнения арифметических действий с ними.
http://leepoint.net/notes-java/data/numbers/10biginteger.html
Если вам нужны десятичные значения, используйте BigDecimal
Напишите свой собственный класс и операции для представления 128-битных чисел или используйте некоторую доступную библиотеку.