// Program 19: Recursive Binary to Decimal Conversion import java.util.*; class Convert { long binum; long decinum; void input() { Scanner sc = new Scanner(System.in); binum = sc.nextLong(); } long BintoDeci(long d, long p) { if (d == 0) { return 0; } return (d % 10) * p + BintoDeci(d / 10, p * 2); } void display() { long temp = binum; if (temp < 0) { System.out.println("Invalid binary number"); return; } while (temp > 0) { if (temp % 10 > 1) { System.out.println("Invalid binary number"); return; } temp /= 10; } decinum = BintoDeci(binum, 1); System.out.println(binum + " = " + decinum); } public static void main(String[] args) { Convert ob = new Convert(); ob.input(); ob.display(); } }