diff --git a/Conversions/BinaryToHexadecimal.java b/Conversions/BinaryToHexadecimal.java new file mode 100644 index 000000000000..a71d129501d3 --- /dev/null +++ b/Conversions/BinaryToHexadecimal.java @@ -0,0 +1,57 @@ +import java.util.*; +/** + * Converts any Binary Number to a Hexadecimal Number + * + * @author Nishita Aggarwal + * + */ +public class BinaryToHexadecimal { + + /** + * This method converts a binary number to + * a hexadecimal number. + * + * @param binary The binary number + * @return The hexadecimal number + */ + static String binToHex(int binary) + { + //hm to store hexadecimal codes for binary numbers within the range: 0000 to 1111 i.e. for decimal numbers 0 to 15 + HashMap hm=new HashMap<>(); + //String to store hexadecimal code + String hex=""; + int i; + for(i=0 ; i<10 ; i++) + { + hm.put(i, String.valueOf(i)); + } + for(i=10 ; i<16 ; i++) hm.put(i,String.valueOf((char)('A'+i-10))); + int currbit; + while(binary != 0) + { + int code4 = 0; //to store decimal equivalent of number formed by 4 decimal digits + for(i=0 ; i<4 ; i++) + { + currbit = binary % 10; + binary = binary / 10; + code4 += currbit * Math.pow(2, i); + } + hex= hm.get(code4) + hex; + } + return hex; + } + + /** + * Main method + * + * @param args Command line arguments + */ + public static void main(String[] args) { + Scanner sc = new Scanner(System.in); + System.out.println("Enter binary number:"); + int binary = sc.nextInt(); + String hex = binToHex(binary); + System.out.println("Hexadecimal Code:" + hex); + sc.close(); + } +}