八进制数是具有 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);
}
}
输出
Decimal equivalent of Octal value 157 is:111
方法二:
算法:
- 启动并从用户那里获取八进制输入。
- 创建一个初始值为 0 的结果变量以存储生成的十进制数。
- 创建一个循环以获取输入中的每个数字。
- 将数字中的每个数字乘以 8n-1,其中 n 是数字的位置。
- 然后将其添加到结果中。
- 将步骤(5)中的值存储到结果变量中。
- 打印结果变量。
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
相关用法
- Java Binary转Octal用法及代码示例
- Java Octal转Binary用法及代码示例
- Java java.sql.Date转java.util.Date用法及代码示例
- Java java.util.Date转java.sql.Date用法及代码示例
注:本文由纯净天空筛选整理自hellion903大神的英文原创作品 Java Program to Convert Octal to Decimal。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。