在本文中,我們將學習數值從十進製到二進製的轉換。二進製是一種用 2 位數字(0 和 1)表示所有數值的數字係統。
給定一個十進製數 N。我們的任務是將數字的十進製表示形式轉換為其等效的二進製表示形式。
示例 1:
Input : 7
Output : 111
Input : 10
Output : 1010
如果十進製數是10。
- 10 除以 2 的餘數為零。因此,arr[0] = 0。
- 將 10 除以 2。新數字為 10/2 = 5。
- 5 除以 2 餘數為 1。因此,arr[1] = 1。
- 將 5 除以 2。新數字為 5/2 = 2。
- 當 2 除以 2 時,餘數為零。因此,arr[2] = 0。
- 將 2 除以 2。新數字為 2/2 = 1。
- 1 除以 2 餘數為 1。因此,arr[3] = 1。
- 將 1 除以 2。新數字為 1/2 = 0。
- 由於數字變為 = 0。
- 以相反的順序打印數組。因此,等效的二進製數是1010。
有多種方法可用於將十進製轉換為二進製,如下所示:
- 使用無符號右移運算符 (>>>)
- 使用循環和字符串連接
- 使用 toString(2) 方法
- 使用數組和數學方法
我們將借助示例探索上述所有方法及其基本實現。
方法一:使用無符號右移運算符 (>>>)
將十進製轉換為二進製的最簡單和最基本的方法是使用無符號右移運算符將輸入數字轉換為無符號32位整數。我們使用帶參數的 toString 方法 2指定輸出應以 2 為基數,即二進製。
用法:
function decimalToBinary(N) {
return (N >>> 0).toString(2);
}
例子:在此示例中,我們使用above-explained 方法。
Javascript
function decimalToBinary(N) {
return (N >>> 0).toString(2);
}
let N = 10;
let binary = decimalToBinary(N);
console.log(
"The binary representation of given number is:- " + binary);
輸出
The binary representation of given number is:- 1010
方法 2:使用循環和字符串連接
在這種方法中,我們使用循環和字符串連接
- 初始化一個空字符串,比如二進製。
- 運行 while 循環,直到十進製數,即 N 大於 0。
- 在循環內找到 N 除以 2 的餘數並將其與二進製字符串連接起來。
- 在每次迭代中將數字 N 除以 2 後更新該數字,並對其使用下限函數。
用法:
while (N > 0) {
binary = (N % 2) + binary;
N = Math.floor(N / 2);
}
例子:在此示例中,我們使用上述方法。
Javascript
function decimalToBinary(N) {
let binary = '';
while (N > 0) {
binary = (N % 2) + binary;
N = Math.floor(N / 2);
}
return binary;
}
let N = 10;
let binary = decimalToBinary(N);
console.log(
"The binary representation of given number is:- " + binary);
輸出
The binary representation of given number is:- 1010
方法 3:使用 toString(2) 方法
toString(2) 方法是一個內置的 JavaScript 方法,可用於數字對象,它將數值(十進製數)轉換為其二進製表示形式的字符串。
用法:
num.toString(2)
例子:在此示例中,我們使用 toString(2) 方法將給定的數值轉換為二進製。
Javascript
function decimalToBinary(val) {
return val.toString(2);
}
let num1 = 10;
let result = decimalToBinary(num1);
console.log("Binary representation:", result);
輸出
Binary representation: 1010
方法 4:使用大批和數學方法
此方法使用數組來存儲二進製數字,將十進製數轉換為二進製數。它重複將數字除以 2 並將餘數添加到數組的開頭。然後通過連接數組元素獲得二進製表示。
用法:
let arr = [];
for (; num1 > 0; num1 = Math.floor(num1 / 2)) {
arr.unshift(num1 % 2);
}
return arr.join("");
例子:在此示例中,我們使用above-explained 方法。
Javascript
function decimalToBinary(num1) {
if (num1 === 0) return "0";
let arr = [];
for (; num1 > 0; num1 = Math.floor(num1 / 2)) {
arr.unshift(num1 % 2);
}
return arr.join("");
}
let givenNumber = 10;
let result = decimalToBinary(givenNumber);
console.log("The binary representation is: " + result);
輸出
The binary representation is: 1010
相關用法
- Javascript Date.UTC( )用法及代碼示例
- Javascript Date.now()用法及代碼示例
- Javascript Date.parse()用法及代碼示例
- Javascript Date.prototype用法及代碼示例
- Javascript DataView()用法及代碼示例
- Javascript Date轉Number用法及代碼示例
- Javascript Date轉String用法及代碼示例
- Javascript Atomics.add( )用法及代碼示例
- Javascript Atomics.and()用法及代碼示例
- Javascript Atomics.compareExchange( )用法及代碼示例
- Javascript Atomics.exchange( )用法及代碼示例
- Javascript Atomics.isLockFree( )用法及代碼示例
- Javascript Atomics.load( )用法及代碼示例
- Javascript Atomics.or( )用法及代碼示例
- Javascript Atomics.store( )用法及代碼示例
- Javascript Atomics.sub( )用法及代碼示例
- Javascript Atomics.xor()用法及代碼示例
- Javascript array.flatMap()用法及代碼示例
- Javascript Array.of()用法及代碼示例
- Javascript array.includes()用法及代碼示例
- Javascript Array.isArray()用法及代碼示例
- Javascript array.keys()用法及代碼示例
- Javascript array.reduceRight()用法及代碼示例
- Javascript array.toLocaleString()用法及代碼示例
- Javascript array.values()用法及代碼示例
注:本文由純淨天空篩選整理自geek_suryansh大神的英文原創作品 JavaScript Program to Convert Decimal to Binary。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。