Как преобразовать связанный Java-список двоичного представления числа в строку десятичного представления числа? - PullRequest
0 голосов
/ 13 декабря 2018

Я построил в Java новый тип чисел, который содержит представление двоичного числа в виде списка битов.ToString моего класса печатает двоичную форму этого числа, но я хочу создать функцию, которая печатает десятичное представление такого числа, и чтобы обойти ограничения типов чисел, я хочу, чтобы это было в строковой форме,Проблема в том, что я не могу поставить полный номер в int или long, потому что мой тип числа может содержать целое число любого размера.Если кому-то нужно увидеть класс или его части, чтобы помочь, я могу отправить его им.

1 Ответ

0 голосов
/ 13 декабря 2018

Посмотрите на BigInteger .Поскольку ваша структура данных позволяет хранить двоичные числа произвольного размера, BigInteger позволяет хранить целые числа произвольного размера.

Поскольку вы можете преобразовать свой список битов в String, вы можете использовать этоконструктор public BigInteger (String val, int radix) .Например, предположим, что объект yourObject из YourClass содержит список битов 1 0 1 1 0, который выводится как «10110» с использованием реализованного вами метода toString.Сейчас:

YourClass yourObject; // 10110
BigInteger bi = new BigInteger(yourObject.toString(), 2);
System.out.println(bi); // Prints out 22
...