-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathE5.java
25 lines (24 loc) · 789 Bytes
/
E5.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
import java.util.Scanner;
public class E5 {
public static void main(String[] args)
{
Scanner input = new Scanner(System.in);
System.out.print("Enter a binary string: ");
String binaryString = input.next();
System.out.println("The decimal equivalent of " + binaryString + " is " + bin2Dec(binaryString));
}
public static int bin2Dec(String binaryString) {
int index = 0;
int n = binaryString.length() - 1;
int result = 0;
return bin2Dec( binaryString,index,n,result);
}
public static int bin2Dec(String binaryString, int index, int n, int result) {
result += (Integer.parseInt(binaryString.charAt(index) + "") * (int)Math.pow(2, n));
if (n == 0) {
return result;
}
else
return bin2Dec(binaryString, index + 1, n - 1, result);
}
}