编写一个 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);
}
}

使用 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