十进制到二进制转换的 Java 程序
给定一个十进制数作为输入,我们需要编写一个程序,将给定的十进制数转换成等价的二进制数。
示例:
Input : 7
Output : 111
s
Input : 10
Output : 1010
Input: 33
Output: 100001
二进制到十进制的转换是将二进制中给定的数字转换成十进制中的等价数字。数字系统是以某种方式表示数字的一种格式。
二进制数字系统–二进制数字系统用于计算机和电子系统中表示数据,它只由 0 和 1 两个数字组成。
十进制数制–十进制数制是全世界最常用的数制,人们很容易理解。它由 0 到 9 的数字组成。
方法
在 Java 中,有许多方法可以将给定的十进制数转换成等效的二进制数。下面列出了其中的一些。
- 使用数组
- 使用按位运算符
- 使用数学幂()函数(不使用数组)
1.使用数组
算法:
- 当数组中的数字被 2 除时,存储余数。
- 把这个数除以 2
- 重复以上两个步骤,直到数字大于零。
- 现在以相反的顺序打印数组。
下图显示了将十进制数 17 转换为等效二进制数的示例。
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to convert a decimal
// number to binary number
import java.io.*;
class GFG
{
// function to convert decimal to binary
static void decToBinary(int n)
{
// array to store binary number
int[] binaryNum = new int[1000];
// counter for binary array
int i = 0;
while (n > 0)
{
// storing remainder in binary array
binaryNum[i] = n % 2;
n = n / 2;
i++;
}
// printing binary array in reverse order
for (int j = i - 1; j >= 0; j--)
System.out.print(binaryNum[j]);
}
// driver program
public static void main (String[] args)
{
int n = 17;
System.out.println("Decimal - " + n);
System.out.print("Binary - ");
decToBinary(n);
}
}
// Contributed by Pramod Kumar
Output
Decimal - 17
Binary - 10001
2.使用按位运算符
我们可以使用按位运算符来完成上述工作。
注意–按位运算符比上面使用的算术运算符工作更快。
Java 语言(一种计算机语言,尤用于创建网站)
// Java program to Decimal to binary conversion
// using bitwise operator
// Size of an integer is assumed to be 32 bits
class gfg {
// Function that convert Decimal to binary
public void decToBinary(int n)
{
// Size of an integer is assumed to be 32 bits
for (int i = 31; i >= 0; i--) {
int k = n >> i;
if ((k & 1) > 0)
System.out.print("1");
else
System.out.print("0");
}
}
}
class geek {
// driver code
public static void main(String[] args)
{
gfg g = new gfg();
int n = 32;
System.out.println("Decimal - " + n);
System.out.print("Binary - ");
g.decToBinary(n);
}
}
// This code is contributed by mits
Output
Decimal - 32
Binary - 00000000000000000000000000100000
3.使用数学幂()方法(不使用数组)
十进制到二进制的转换也可以在不使用数组的情况下完成。
Java 语言(一种计算机语言,尤用于创建网站)
// Java implementation of the approach
import java.io.*;
class GFG {
// Function to return the binary
// equivalent of decimal value N
static int decimalToBinary(int N)
{
// To store the binary number
int B_Number = 0;
int cnt = 0;
while (N != 0) {
int rem = N % 2;
double c = Math.pow(10, cnt);
B_Number += rem * c;
N /= 2;
// Count used to store exponent value
cnt++;
}
return B_Number;
}
// Driver code
public static void main(String[] args)
{
int N = 17;
System.out.println("Decimal - " + N);
System.out.print("Binary - ");
System.out.println(decimalToBinary(N));
}
}
// This code is contributed by ajit.
Output
Decimal - 17
Binary - 10001
更多详情请参考十进制到二进制转换程序的完整文章!
版权属于:月萌API www.moonapi.com,转载请注明出处