Java 十进制到二进制转换

Java 十进制到二进制转换

数字系统有四种类型:二进制、八进制、十进制和十六进制,它们的基值分别为2、8、10和16。基值取决于数字系统所包含的位数。例如,十六进制数字系统包含16个数字,即0至9和A至F。因此,它的基值为16。

在本文中,我们将讨论二进制和十进制数字系统。此外,我们将编写Java程序将十进制数转换为二进制数。

二进制和十进制数字系统

二进制数字系统

二进制数字系统以0和1的形式工作。因为它只有两个数字0和1,所以它的基值为2。从电信号的角度来看,这两个位代表着真和假,或者开和关的状态。(101)2、(011)2、(111)2是二进制数字的几个示例。

通常,它用于数字设备,如计算机、智能手机、智能手表。事实上,它是在数字设备上执行的所有操作的基础。

十进制数字系统

它是最常用的数字系统。它有从0到9的10个数字。因此,它的基值为10。如果一个数字的基值没有提到,那么它被视为10。一个单独的数字具有10的幂数的权重,每个数字的权重是前一个数字的10倍。例如,1010、43110、98010等。

下表表示了前15个数字的二进制和十进制格式。

Binary Decimal
0001 1
0010 2
0011 3
0100 4
0101 5
0110 6
0111 7
1000 8
1001 9
1010 10
1011 11
1100 12
1101 13
1110 14
1111 15

在上表中,二进制数用4位格式表示。

十进制转二进制转换

让我们了解如何将十进制数转换为二进制。

我们通过将十进制数除以二进制的基数(即2)直到商为1来将十进制格式转换为二进制格式。换句话说,我们将给定的十进制数除以2,直到该数字大于0。

示例1

将十进制数(23)转换为其二进制形式。

Java 十进制到二进制转换

答案是10111。

现在,我们将看到一个Java程序,其中我们将应用上述逻辑将十六进制转换为十进制。

方法1:使用toBinaryString()方法

它是‘Integer’类的静态方法,根据基于2的底返回一个字符串值。它位于java.lang包中。

语法

Integer.toBinaryString(int var_to_convert);

参数

  • Var_to_convert:要转换的值。

在以下方法中,我们将创建一个带有整数类型参数‘dec’的构造函数‘Cnvrt()’。在这个构造函数中,我们将执行转换并将值存储在字符串‘b1’中。在主方法中,我们将创建一个‘Cnvrt’类的对象,以便我们可以调用具有不同值的构造函数。

示例

public class Cnvrt {
   String Cnvrt(int dec) { 
      // Constructor
      String b1 = Integer.toBinaryString(dec);
      return b1; 
      // returing the string stored in b1
   }
   public static void main(String args[]) {
      Cnvrt obj = new Cnvrt();  
      // creating object ‘obj’
      // calling the constructor using object with arguments
      System.out.println("Binary value of given decimal number: " + obj.Cnvrt(50)); 
      System.out.println("Binary value of given decimal number: " + obj.Cnvrt(25));
      System.out.println("Binary value of given decimal number: " + obj.Cnvrt(10));
   }
}

输出

Binary value of given decimal number: 110010
Binary value of given decimal number: 11001
Binary value of given decimal number: 1010

方法2:使用我们自己的逻辑

在这个方法中,我们将创建四个整数变量−

  • ‘dec’,用于存储十进制值

  • ‘b1’,用于存储转换后的二进制数

  • ‘rem’,用于存储余数

  • ‘rev’,用于在逆序打印余数时使用

我们将使用一个while循环,直到十进制值变为1。在这个循环中,我们将除法获取并存储余数。然后,我们将逆序排列余数。

示例

public class Cnvrt {
   public static void main(String[] args) {
      int dec = 23;
      int b1 = 0;
      int rem;
      int rev = 1;
      while (dec > 0) {
         rem = dec % 2; 
         // storing remainder
         dec = dec / 2;  
         // dividing the given decimal value
         b1 = b1 + rem * rev; 
         // reversing the remainders and storing it
         rev = rev * 10;
      }
      System.out.println("Binary value of given decimal number: " + b1);
   }
}

输出

Binary value of given decimal number: 10111

结论

在本文中,我们了解了数字系统的类型,特别是二进制和十进制数字系统。此外,我们还讨论了两种将十进制数转换为二进制数的Java程序方法。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程