Метод toBinary() возвращает правильное значение: "Десятичное число 2147483647 равно двоичному числу 1111111111111111111111111111111". А вот метод toDecimal() возвращает неправильное: "Двоичное число 1111111111111111111111111111111 равно десятичному числу 1431655749"