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(); } }