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 程式以將十進位制數轉換為二進位制數的方法。