Java程序将二进制转换为八进制
二进制数 - 根据基值,存在多种类型的数字系统。二进制数就是其中之一。二进制数基本上由两个数字表示,即一 (1) 和零 (0)。二进制数在数字系统中表示为以 2 为基数。
八进制数 - 八进制数也是一种可用的数字系统。八进制数用 8 个数字表示,从 0 到 7 (0、1、2、3... 7)。八进制数在数字系统中表示为以 8 为基数。
这里我们将二进制数转换为八进制数,但为此,我们必须首先将二进制数转换为十进制数,以便之后可以使用toOctalString() 方法将该十进制数转换为八进制数。
Binary Number → Decimal Number → Octal Number
toOctalString() 方法是Integer 类的内置函数。
语法
public static String toOctalString(int i)
问题陈述
编写一个Java程序,将二进制数转换为八进制数 -
输入-1
Input Binary number is 101011.
输出-1
By converting into decimal = 43. Now converting it to octal = 53
输入-2
Input Binary number is 1111111.
输出-2
By converting into decimal = 127 Now converting it to octal = 177
输入-3
Input Binary number is 11001100.
输出-3
By converting into decimal = 204. Now converting it to octal = 314.
将二进制转换为八进制的方法
我们提供了不同方法的解决方案 -
方法-1:使用带静态输入值的自定义方法
在这种方法中,我们声明一个长变量,用程序中的二进制数对其进行初始化,并将此数字作为参数传递给自定义方法,然后在方法内部,通过使用算法,我们可以将二进制数转换为八进制数。
- 开始
- 导入java.util.*并定义Main 类。
- 声明一个具有静态值的long变量binary。
- 将二进制转换为十进制,然后将十进制转换为八进制并打印值。
- 停止
示例
以下是使用静态输入方法将二进制数转换为八进制数的示例 -
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:使用带用户输入值的自定义方法
在这种方法中,我们声明一个二进制输入数,并将此数字作为参数传递给自定义方法,然后在方法内部,通过使用算法,我们可以将二进制数转换为十六进制数。
- 开始
- 导入java.util.*并定义Main 类。
- 获取二进制数的用户输入。
- 调用用户定义的方法进行转换。
- 将二进制转换为十进制,然后将十进制转换为八进制并打印值。
- 停止。
示例
以下是使用用户定义的方法将二进制数转换为八进制数的示例 -
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 中将二进制转换为八进制。
广告
数据结构
网络
RDBMS
操作系统
Java
iOS
HTML
CSS
Android
Python
C语言编程
C++
C#
MongoDB
MySQL
Javascript
PHP