JavaScript 将二进制字符串相加

JavaScript 将二进制字符串相加

问题说明我们需要将两个二进制字符串相加。二进制字符串是一串字节的序列。为了在JavaScript中相加,我们首先将它们转换为十进制数并进行求和计算。在将这些十进制数相加后,我们再次将其转换为二进制字符串并打印输出。

什么是二进制字符串

二进制数字或二进制字符串是以2为基数的字节序列。它基本上是由0和1的组合表示任何数字。而二进制相加是对二进制字符串进行的一种数学运算。二进制相加类似于十进制相加,但使用的是基数2。

二进制相加的规则-

JavaScript 将二进制字符串相加

有一些规则可以用于相加二进制数。如果我们遵循这些规则,那么相加比十进制相加更容易。添加二进制数的规则如下:

理解问题

问题说明我们需要在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()和toStrings()。让我们详细了解这些方法。

parseInt()方法是javascript的预定义方法。此方法用于将二进制字符串转换为十进制数字。要进行转换,我们需要传递一个redix(数学系统中的基数)参数。redix指定要使用的数制,如二进制为2,八进制为8,十进制为10,十六进制为16。

javascript的toString()方法用于将值打印为字符串。在我们的代码中,sum.toString(2)将计算的和转换为字符串格式。

复杂性

如果我们讨论这个程序的时间复杂性,它将花费O(n)的时间来完成执行。在这种情况下,n是两个二进制字符串的长度。因为这两个函数(parseInt()和toString())都是基于给定字符串的长度工作的。而加法运算本身是一个简单的操作,计算和需要一定的时间。因此,这个程序的整体复杂性可以通过加上字符串的长度来计算。

结论

在这个问题中,我们使用并学习了如何使用javascript的parseInt()和toString()方法。利用这两个方法,我们计算了两个二进制字符串的和,正如问题所述。最后,该算法的时间复杂度是O(n),因为这两个方法都是根据字符串的长度来计算和。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程