2017-11-28 22:34:17 +08:00
|
|
|
/**
|
2017-11-28 22:35:20 +08:00
|
|
|
+ + * Converts any Octal Number to HexaDecimal
|
2017-11-28 22:34:17 +08:00
|
|
|
+ + *
|
|
|
|
+ + * @author Tanmay Joshi
|
|
|
|
+ + *
|
|
|
|
+ + *
|
|
|
|
**/
|
|
|
|
import java.util.Scanner;
|
|
|
|
|
2018-03-31 07:02:10 +08:00
|
|
|
public class OctalToHexadecimal {
|
2017-11-28 22:34:17 +08:00
|
|
|
|
|
|
|
/**
|
|
|
|
+ + * This method converts a Octal number to
|
|
|
|
+ + * a decimal number
|
|
|
|
+ + *
|
|
|
|
+ + * @param The Octal Number
|
|
|
|
+ + * @return The Decimal number
|
|
|
|
+ + */
|
|
|
|
public static int OctToDec(String s)
|
|
|
|
{
|
|
|
|
int i =0;
|
|
|
|
for(int j =0;j<s.length();j++)
|
|
|
|
{
|
|
|
|
char num = s.charAt(j);
|
|
|
|
num-='0';
|
|
|
|
i*=8;
|
|
|
|
i+=num;
|
|
|
|
}
|
|
|
|
return i;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
+ + * This method converts a Decimal number to
|
|
|
|
+ + * a Hexadecimal number
|
|
|
|
+ + *
|
|
|
|
+ + * @param The Decimal Number
|
|
|
|
+ + * @return The Hexadecimal number
|
|
|
|
+ + */
|
|
|
|
public static String DecimalToHex(int d) {
|
|
|
|
String digits = "0123456789ABCDEF";
|
|
|
|
if (d <= 0)
|
|
|
|
return "0";
|
|
|
|
String hex = "";
|
|
|
|
while (d > 0) {
|
|
|
|
int digit = d % 16;
|
|
|
|
hex = digits.charAt(digit) + hex;
|
|
|
|
d = d / 16;
|
|
|
|
}
|
|
|
|
return hex;
|
|
|
|
}
|
|
|
|
|
|
|
|
//Driver Program
|
|
|
|
public static void main ( String args[]) {
|
|
|
|
|
|
|
|
Scanner input = new Scanner(System.in);
|
|
|
|
System.out.print("Enter the Octal number: ");
|
|
|
|
String oct = input.next(); //Take octal number as input from user in a string
|
2018-03-31 07:02:10 +08:00
|
|
|
int decimal = OctToDec(oct); //Pass the octal number to function and get converted deciaml form
|
|
|
|
String hex = DecimalToHex(decimal); //Pass the decimla number to function and get converted Hex form of the number
|
|
|
|
System.out.println("The Hexadecimal equivalant is: "+hex);
|
2017-11-28 22:34:17 +08:00
|
|
|
}
|
|
|
|
}
|
|
|
|
|