八進製數是具有 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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。