Java 程序将八进制转换为二进制

编写一个 Java 程序将八进制转换为二进制。在 Java 中,我们可以使用基数为 8 的 parseInt 将八进制字符串转换为二进制数字。

package Remaining;

public class OctalToBinary1 {
	
	public static void main(String[] args) {
		
		String s1 = "15";
		String s2 = "45";
		String s3 = "122";
		
		int a = Integer.parseInt(s1, 8);
		int b = Integer.parseInt(s2, 8);
		int c = Integer.parseInt(s3, 8);
		
		System.out.println(Integer.toBinaryString(a));
		System.out.println(Integer.toBinaryString(b));
		System.out.println(Integer.toBinaryString(c));
	}
}
1101
100101
1010010

这个Java示例接受八进制字符串,并使用parseInt方法将其转换为二进制数字。

package Remaining;

import java.util.Scanner;

public class OctalToBinary2 {
	private static Scanner sc;
	
	public static void main(String[] args) {
		
		sc= new Scanner(System.in);

		System.out.print("Please Enter Octal Number =  ");
		String octalString = sc.nextLine();
	
		int decimalVal = Integer.parseInt(octalString, 8);
		String binaryVal = Integer.toBinaryString(decimalVal);
		
		System.out.println("Octal To Binary Result = " + binaryVal);
	}
}
Java Program to Convert Octal To Binary using toBinary

使用 for 循环将八进制转换为二进制的 Java 程序。第一个 for 循环将八进制转换为十进制,第二个循环将十进制转换为二进制数字。

package Remaining;

import java.util.Scanner;

public class OctalToBinary3 {
	private static Scanner sc;
	
	public static void main(String[] args) {
		
		sc= new Scanner(System.in);

		System.out.print("Please Enter Number =  ");
		int octalVal = sc.nextInt();
	
		int i, decimalVal = 0;
		long binaryVal = 0;
		
		for(i = 0; octalVal != 0; i++)
		{
			decimalVal = (int) (decimalVal + (octalVal % 10) * Math.pow(8, i));
			octalVal= octalVal / 10;
		}
		
		for(i = 1; decimalVal != 0; i = i * 10)
		{
			binaryVal = binaryVal + (decimalVal % 2) * i;
			decimalVal = decimalVal / 2;
		}
		
		System.out.println("Result = " + binaryVal);
	}
}
Please Enter Number =  124
Result = 1010100

使用 while 循环将八进制转换为二进制的 Java 程序。

package Remaining;

import java.util.Scanner;

public class OctalToBinary4 {
	private static Scanner sc;
	
	public static void main(String[] args) {
		
		sc= new Scanner(System.in);

		System.out.print("Please Enter Number = ");
		int octalVal = sc.nextInt();
	
		int i, j, decimalVal = 0;
		long binaryVal = 0;
		i = 0;
		
		while(octalVal != 0)
		{
			decimalVal = (int) (decimalVal + (octalVal % 10) * Math.pow(8, i++));
			octalVal= octalVal / 10;
		}
		j = 1; 
		while(decimalVal != 0)
		{
			binaryVal = binaryVal + (decimalVal % 2) * j;
			decimalVal = decimalVal / 2;
			j = j * 10;
		}
		
		System.out.println("Result    = " + binaryVal);
	}
}
Please Enter Number = 97
Result    = 1001111