📌  相关文章
📜  八进制转十进制Java程序

📅  最后修改于: 2022-05-13 01:54:56.409000             🧑  作者: Mango

八进制转十进制Java程序

八进制数是基数为 8 的数字,使用 0-7 的数字。该系统是一个基数为 8 的数字系统。十进制数是以10为基数,用0-9的数字来表示十进制数。它们还需要点来表示小数。

我们必须将八进制数系统中的数字转换为十进制数系统。

八进制数的基数是 8,这意味着八进制数的数字范围为07

图解释了如何将八进制数 (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

方法二:

算法:

  1. 启动并接受用户的八进制输入。
  2. 创建一个初始值为 0 的结果变量来存储结果的十进制数。
  3. 创建一个循环以获取输入中的每个数字。
  4. 将数字中的每个数字与 8 n-1相乘,其中 n 是数字的位置。
  5. 然后将其添加到结果中。
  6. 将 Step(5) 中的值存储到 result 变量中。
  7. 打印结果变量。

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