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 程式以將十進位制數轉換為二進位制數的方法。
資料結構
網路
關係型資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP