八进制转十进制Java程序
八进制数是基数为 8 的数字,使用 0-7 的数字。该系统是一个基数为 8 的数字系统。十进制数是以10为基数,用0-9的数字来表示十进制数。它们还需要点来表示小数。
我们必须将八进制数系统中的数字转换为十进制数系统。
八进制数的基数是 8,这意味着八进制数的数字范围为0到7 。
For Example:
In Octal: 167
In Decimal:(7 * 80) + (6 * 81) +(1 * 82)=119
下图解释了如何将八进制数 (123) 转换为等效的十进制值:
方法一:使用Integer.parseInt()方法
要将任何字符串形式转换为十进制,我们可以使用type.parseType() 方法。比如这里我们需要将八进制转换为十进制,而八进制形式是一个整数,那么我们可以使用Integer.parseInt()来转换它。
Java
// Java program to convert
// octal number to decimal using
// Integer.parseInt()
public class GFG {
public static void main(String args[])
{
// octal value
String onum = "157";
// octal to decimal using Integer.parseInt()
int num = Integer.parseInt(onum, 8);
System.out.println(
"Decimal equivalent of Octal value 157 is: "
+ num);
}
}
Java
// Java program to convert octal
// to decimal number using custom code
import java.util.Scanner;
import java.lang.Math;
public class Main {
public static void main(String[] args)
{
int a = 167;
// Initialize result variable to 0.
int result = 0;
// Take a copy of input
int copy_a = a;
for (int i = 0; copy_a > 0; i++) {
// Take the last digit
int temp = copy_a % 10;
// Appropriate power on 8 suitable to
// its position.
double p = Math.pow(8, i);
// Multiply the digits to the into the Input
// and
// then add it to result
result += (temp * p);
copy_a = copy_a / 10;
}
System.out.print("Decimal of Octal Number (" + a
+ ") : " + result);
}
}
输出
Decimal equivalent of Octal value 157 is: 111
方法二:
算法:
- 启动并接受用户的八进制输入。
- 创建一个初始值为 0 的结果变量来存储结果的十进制数。
- 创建一个循环以获取输入中的每个数字。
- 将数字中的每个数字与 8 n-1相乘,其中 n 是数字的位置。
- 然后将其添加到结果中。
- 将 Step(5) 中的值存储到 result 变量中。
- 打印结果变量。
Java
// Java program to convert octal
// to decimal number using custom code
import java.util.Scanner;
import java.lang.Math;
public class Main {
public static void main(String[] args)
{
int a = 167;
// Initialize result variable to 0.
int result = 0;
// Take a copy of input
int copy_a = a;
for (int i = 0; copy_a > 0; i++) {
// Take the last digit
int temp = copy_a % 10;
// Appropriate power on 8 suitable to
// its position.
double p = Math.pow(8, i);
// Multiply the digits to the into the Input
// and
// then add it to result
result += (temp * p);
copy_a = copy_a / 10;
}
System.out.print("Decimal of Octal Number (" + a
+ ") : " + result);
}
}
输出
Decimal of Octal Number (167) : 119