2019-05-09 19:32:54 +08:00
|
|
|
package Conversions;
|
|
|
|
|
2017-11-28 22:34:17 +08:00
|
|
|
import java.util.Scanner;
|
|
|
|
|
2019-05-09 19:32:54 +08:00
|
|
|
/**
|
|
|
|
* Converts any Octal Number to HexaDecimal
|
|
|
|
*
|
|
|
|
* @author Tanmay Joshi
|
|
|
|
*/
|
2018-03-31 07:02:10 +08:00
|
|
|
public class OctalToHexadecimal {
|
2017-11-28 22:34:17 +08:00
|
|
|
|
2020-10-24 18:23:28 +08:00
|
|
|
/**
|
|
|
|
* This method converts a Octal number to a decimal number
|
|
|
|
*
|
|
|
|
* @param s 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;
|
2017-11-28 22:34:17 +08:00
|
|
|
}
|
2020-10-24 18:23:28 +08:00
|
|
|
return i;
|
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* This method converts a Decimal number to a Hexadecimal number
|
|
|
|
*
|
|
|
|
* @param d 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;
|
2019-05-09 19:32:54 +08:00
|
|
|
}
|
2020-10-24 18:23:28 +08:00
|
|
|
return hex;
|
|
|
|
}
|
2019-05-09 19:32:54 +08:00
|
|
|
|
2020-10-24 18:23:28 +08:00
|
|
|
public static void main(String args[]) {
|
2019-05-09 19:32:54 +08:00
|
|
|
|
2020-10-24 18:23:28 +08:00
|
|
|
Scanner input = new Scanner(System.in);
|
|
|
|
System.out.print("Enter the Octal number: ");
|
|
|
|
// Take octal number as input from user in a string
|
|
|
|
String oct = input.next();
|
2019-05-09 19:32:54 +08:00
|
|
|
|
2021-10-05 01:31:06 +08:00
|
|
|
// Pass the octal number to function and get converted decimal form
|
2020-10-24 18:23:28 +08:00
|
|
|
int decimal = octToDec(oct);
|
2019-05-09 19:32:54 +08:00
|
|
|
|
2021-10-05 01:31:06 +08:00
|
|
|
// Pass the decimal number to function and get converted Hex form of the number
|
2020-10-24 18:23:28 +08:00
|
|
|
String hex = decimalToHex(decimal);
|
|
|
|
System.out.println("The Hexadecimal equivalant is: " + hex);
|
|
|
|
input.close();
|
|
|
|
}
|
2017-11-28 22:34:17 +08:00
|
|
|
}
|