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 程序以将十进制数转换为二进制数的方法。