Java 将二进制转换为八进制
二进制数 − 有四种可用的数字系统,二进制数是其中之一。二进制数基本上由两个数字表示,即1和0。二进制数以base-2的方式表示在数字系统中。
八进制数 − 八进制数也是可用的数字系统之一。八进制数由8个数字表示,即从0到7(0、1、2、3… 7)。八进制数在数字系统中以base-8的方式表示。
这里我们将二进制数转换为八进制数,但为了实现这一目标,我们首先需要将二进制数转换为十进制数,以便我们可以进一步将该十进制数转换为八进制数。
Binary Number → Decimal Number → Octal Number
在本文章中,我们将看到如何在Java中将二进制转换为八进制。
为了向您展示一些实例 –
实例1
Input Binary number is 101011.
By converting into decimal = 43.
Now converting it to octal = 53
实例2
Input Binary number is 1111111.
By converting into decimal = 127
Now converting it to octal = 177
实例3
Input Binary number is 11001100.
By converting into decimal = 204.
Now converting it to octal = 314.
步骤
步骤-1 - 通过静态输入或用户输入方法获取输入数字。
步骤-2 - 我们声明了两个用户定义的方法。一个方法用于将二进制数转换为十进制数。在另一个方法中,我们将十进制数转换为八进制数。
步骤-3 - 当我们将二进制转换为十进制时,我们按照递增顺序乘以2的幂,以便获得适当的十进制值。
步骤-4 - 在另一个用户定义的方法中,我们将十进制值转换为八进制值。
步骤-5 - 通过使用此方法,我们将二进制数转换为八进制数。
多种方法
我们提供了不同的解决方法。
- 通过具有静态输入值的用户定义方法。
- 通过具有用户输入值的用户定义方法。
让我们逐个查看程序及其输出。
方法1:使用具有静态输入值的用户定义方法
在这个方法中,我们声明一个长整型变量,并在程序中将其初始化为二进制数,然后将这个数作为参数传递给一个用户定义的方法,然后在方法内部,通过使用算法,我们可以将二进制数转换为八进制数。
示例
import java.util.*;
public class Main {
public static void main(String[] args){
long binary=1010;
binToDec(binary);
}
public static void binToDec(long binaryNumber){
int decNum = 0, i = 0;
while (binaryNumber > 0) {
decNum += Math.pow(2, i++) * (binaryNumber % 10);
binaryNumber /= 10;
}
System.out.println("In Decimal="+decNum);
decToOct(decNum);
}
public static void decToOct(long decNum){
String octalString = Long.toOctalString(decNum);
int octalNumber = Integer.parseInt(octalString);
System.out.println("In octal="+octalNumber);
}
}
输出
In Decimal=10
In octal=12
方法2:通过使用用户定义的方法和用户输入值
在这种方法中,我们声明一个二进制输入数字,并将该数字作为参数传递给一个用户定义的方法,然后在方法内部,通过使用算法,我们可以将二进制数转换为十六进制数。
示例
import java.util.*;
public class Main {
public static void main(String[] args){
Scanner sc = new Scanner(System.in);
System.out.print("Enter a binary number: ");
long binary=sc.nextLong();
binToDec(binary);
}
public static void binToDec(long binaryNumber){
int decNum = 0, i = 0;
while (binaryNumber > 0) {
decNum += Math.pow(2, i++) * (binaryNumber % 10);
binaryNumber /= 10;
}
System.out.println("In Decimal="+decNum);
decToOct(decNum);
}
public static void decToOct(long decNum){
String octalString = Long.toOctalString(decNum);
int octalNumber = Integer.parseInt(octalString);
System.out.println("In octal="+octalNumber);
}
}
输出
Enter a binary number: 1111
In Decimal=15
In octal=17
在本文中,我们探讨了如何使用不同的方法在Java中将二进制转换为八进制。