Посмотрите пожалуйста
package com.javarush.task.pro.task09.task0906;
import java.util.regex.Pattern;
/*
Двоичный конвертер
*/
public class Solution {
public static void main(String[] args) {
int decimalNumber = Integer.MAX_VALUE;
System.out.println("Десятичное число " + decimalNumber + " равно двоичному числу " + toBinary(decimalNumber));
String binaryNumber = "1111111111111111111111111111111";
System.out.println("Двоичное число " + binaryNumber + " равно десятичному числу " + toDecimal(binaryNumber));
}
public static String toBinary(int decimalNumber) {
int remainder;
String output = "";
while (decimalNumber> 0)
{ remainder = (decimalNumber % 2);
//переводим в стоковую переменную остаток от деления
output = Integer.toString(remainder) + output;
decimalNumber = decimalNumber / 2; }
return output;
}
public static int toDecimal(String binaryNumber) {
int output2=0;
int value;
int dlina = binaryNumber.length ();
if (dlina ==0)
return 0;
else
{ for (int i=0; i<dlina; i++) {
value = Character.getNumericValue(binaryNumber.charAt(dlina-1-i));
output2+= value*Math.pow(2,i);}
return output2;
}
}
}