Java 十进制转换为二进制程序


数制有四种类型:二进制、八进制、十进制和十六进制,其基数分别为 2、8、10 和 16。基数取决于数制中包含的数字数量。例如,十六进制数制包含 16 个数字,即 0 到 9 和 A 到 F。因此,其基数为 16。

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

二进制和十进制数制

二进制数制

二进制数制以 0 和 1 的形式工作。因为它只有两个数字 0 和 1,因此其基数为 2。在电信号方面,这两个比特表示真和假或开和关状态。(101)2、(011)2、(111)2 是二进制数的一些示例。

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

十进制数制

这是最常用的数制。它有 10 个数字,从 0 到 9。因此,其基数为 10。如果未提及数字的基数,则将其视为 10。单个数字的权重为 10 的幂,并且每个数字的权重都比前一个数字高 10 倍。例如,1010、43110、98010 等。

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

二进制

十进制

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,从而将十进制格式转换为二进制格式。换句话说,我们将一直除以给定的十进制数,直到该数大于 0。

示例 1

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

答案是 10111。

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

方法 1:使用 toBinaryString() 方法

它是 'Integer' 类的静态方法,根据基数 2 返回一个字符串值。它在 java.lang 包中可用。

语法

Integer.toBinaryString(int var_to_convert);  

参数

  • Var_to_convert:要转换的值。

在以下方法中,我们将创建一个构造函数 'Cnvrt()' 以及一个整数类型的参数 'dec'。在这个构造函数中,我们将执行转换并将值存储在一个字符串 '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 程序以将十进制数转换为二进制数的方法。

更新于: 2023 年 5 月 2 日

4K+ 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告