-
Notifications
You must be signed in to change notification settings - Fork 1
/
BinToHex.java
40 lines (33 loc) · 966 Bytes
/
BinToHex.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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import java.util.Scanner;
class BinToHex {
int binaryToDecimal(long binary) {
int decimalNumber = 0, i = 0;
while (binary > 0) {
decimalNumber += Math.pow(2, i++) * (binary % 10);
binary /= 10;
}
return decimalNumber;
}
String decimalToHex(long binary) {
int decimalNumber = binaryToDecimal(binary);
char arr[] = { 'A', 'B', 'C', 'D', 'E', 'F' };
int remainder, i = 0;
String hexNumber = "";
while (decimalNumber != 0) {
remainder = decimalNumber % 16;
if(remainder >= 10)
hexNumber = arr[remainder-10] + hexNumber;
else
hexNumber = remainder + hexNumber;
decimalNumber /= 16;
}
return hexNumber;
}
public static void main(String[] args) {
BinToHex ob = new BinToHex();
System.out.print("Enter a Binary Number: ");
long bin = new Scanner(System.in).nextLong();
System.out.println("Given Binary: " + bin);
System.out.println("Hexadecimal : " + ob.decimalToHex(bin));
}
}