JavaScript中二進位制字串的加法
問題要求我們對兩個二進位制字串進行加法運算。二進位制字串是位元組序列。要在 JavaScript 中對它們進行加法運算,我們首先需要將它們轉換為十進位制數,然後計算它們的和。將這些十進位制數相加後,我們再將結果轉換回二進位制字串並列印輸出。
什麼是二進位制字串?
二進位制數或二進位制字串是基數為 2 的位元組序列。它基本上是 0 和 1 的組合,用於表示任何數字。二進位制加法是數學中對二進位制字串執行的一種運算。二進位制加法與十進位制加法類似,但基數為 2。
二進位制數加法的規則:

二進位制數加法有一些規則。如果我們遵循這些規則,那麼加法運算將比十進位制加法更容易。二進位制數加法的規則如下:
理解問題
問題要求我們在 JavaScript 中計算給定二進位制字串的和。為了解決這個問題,我們將建立變數來儲存這些二進位制字串。建立變數後,使用 JavaScript 中提供的 parseInt() 函式將其轉換為十進位制形式。然後計算這些轉換後的數字的和。並再次將其轉換為字串格式。
演算法
步驟 1:第一步定義一個名為 sumOfStrings() 的函式,並向其中傳遞兩個引數。
步驟 2:宣告函式後,定義兩個變數 num1 和 num2。這些變數使用 parseInt() 函式將它們解析為基數為 2 的整數。
步驟 3:將十進位制數 num1 和 num2 相加。並將它們的值賦給 sum 變數。
步驟 4:使用 toString 方法轉換回二進位制字串,並將它的值賦給 binarySum。
步驟 5:最後,在所有流程結束後返回加法結果。
以下是該演算法的虛擬碼
function sumOfStrings(s1, s2): num1 = parseInt(s1, 2) num2 = parseInt(s2, 2) addition = num1 + num2 binarySum = addition.toString(2) return binarySum
示例
// Define a function to calculate sum of strings
function sumOfStrings(s1, s2) {
// Converting binary strings to decimal numbers with parseInt
var num1 = parseInt(s1, 2);
var num2 = parseInt(s2, 2);
// Add decimal numbers num1 and num2 together
var sum = num1 + num2;
// Converting back to binary string with toString method
var binarySum = sum.toString(2);
// Return string
return binarySum;
}
//calling sumBinaryStrings function
var afterSum = sumOfStrings('0111', '1001');
//print on console
console.log("After adding two binary strings together")
console.log(afterSum);
輸出
After adding two binary strings together 10000
在上面的程式碼中,我們使用了兩個預定義的方法,即 parseInt() 和 toString()。讓我們詳細瞭解一下這些方法。
parseInt() 方法是 JavaScript 的預定義方法。此方法用於將二進位制字串轉換為十進位制數。為了進行轉換,我們將必須傳遞一個基數(數學系統中的基數)引數。基數指定要使用的數字系統,例如二進位制為 2,八進位制為 8,十進位制為 10,十六進位制為 16。
當我們想要以字串形式列印值時,使用 JavaScript 的 toString() 方法。在我們的程式碼中,sum.toString(2) 將計算出的 sum 轉換為字串格式。
複雜度
如果我們討論這個程式的時間複雜度,它將花費 O(n) 時間來完成執行。在這種情況下,n 是兩個二進位制字串的長度。因為這兩個函式 (parseInt() 和 toString()) 都在給定字串的長度上執行。而加法運算本身是一個簡單的運算,計算和只需要常數時間。因此,該程式的整體複雜度可以透過將字串的長度相加來計算。
結論
在這個問題中,我們學習瞭如何使用 JavaScript 方法 parseInt 和 toString。使用這兩個方法,我們根據問題說明計算了兩個二進位制字串的和。最後,該演算法的時間複雜度為 O(n),因為這些方法需要字串的長度來計算和。
資料結構
網路
關係資料庫管理系統 (RDBMS)
作業系統
Java
iOS
HTML
CSS
Android
Python
C語言程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP