📜  十进制到二进制转换的Java程序

📅  最后修改于: 2022-05-13 01:55:24.309000             🧑  作者: Mango

十进制到二进制转换的Java程序

给定一个十进制数作为输入,我们需要编写一个程序将给定的十进制数转换为等效的二进制数。

例子:

Input : 7
Output : 111
s
Input : 10
Output : 1010

Input: 33
Output: 100001

二进制到十进制转换是将二进制系统中给定的数字转换为十进制数字系统中的等效数字。数字系统是一种以某种方式表示数字的格式。

二进制数系统——二进制数系统在计算机和电子系统中用于表示数据,它仅由 0 和 1 两个数字组成。

十进制数字系统——十进制数字系统是世界上最常用的数字系统,人们很容易理解。它由 0 到 9 的数字组成。

方法

有许多方法可以将给定的十进制数转换为Java中的等效二进制数。下面列出了其中的一些。

  • 使用数组
  • 使用位运算符
  • 使用 Math.pow()函数(不使用数组)

1. 使用数组

算法

  1. 将数字除以 2 时的余数存储在数组中。
  2. 将数字除以 2
  3. 重复以上两步,直到数字大于零。
  4. 现在以相反的顺序打印数组。

下图显示了将十进制数 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


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


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.


输出
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
输出
Decimal - 32
Binary - 00000000000000000000000000100000

3. 使用 Math.pow() 方法(不使用数组)

十进制到二进制的转换也可以在不使用数组的情况下完成。

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.
输出
Decimal - 17
Binary - 10001

请参阅完整的十进制到二进制转换程序的文章以获取更多详细信息!