返回

前端算法面试必刷题系列[26] 之二进制求和

前端

二进制和十进制的相互转换

在计算机科学中,二进制和十进制是两种常用的数字系统。二进制是以2为基数的计数系统,而十进制是以10为基数的计数系统。由于计算机内部使用二进制来存储和处理数据,因此理解二进制和十进制之间的相互转换非常重要。

1. JavaScript 中的二进制与十进制的相互转换

在 JavaScript 中,可以使用 parseInt() 函数将二进制字符串转换为十进制整数。parseInt() 函数的第一个参数是需要转换的字符串,第二个参数是进制数。如果进制数省略,则默认为 10,即十进制。例如,以下代码将二进制字符串 "1100101" 转换为十进制整数:

const binaryString = "1100101";
const decimalInteger = parseInt(binaryString, 2);
console.log(decimalInteger); // 输出:101

同样,可以使用 toString() 方法将十进制整数转换为二进制字符串。toString() 方法的第一个参数是要转换的数字,第二个参数是进制数。如果进制数省略,则默认为 10,即十进制。例如,以下代码将十进制整数 101 转换为二进制字符串:

const decimalInteger = 101;
const binaryString = decimalInteger.toString(2);
console.log(binaryString); // 输出:1100101

2. Python 中的二进制与十进制的相互转换

在 Python 中,可以使用 int() 函数将二进制字符串转换为十进制整数。int() 函数的第一个参数是需要转换的字符串,第二个参数是进制数。如果进制数省略,则默认为 10,即十进制。例如,以下代码将二进制字符串 "1100101" 转换为十进制整数:

binary_string = "1100101"
decimal_integer = int(binary_string, 2)
print(decimal_integer)  # 输出:101

同样,可以使用 bin() 函数将十进制整数转换为二进制字符串。bin() 函数的第一个参数是要转换的数字。例如,以下代码将十进制整数 101 转换为二进制字符串:

decimal_integer = 101
binary_string = bin(decimal_integer)
print(binary_string)  # 输出:'0b1100101'

3. C++ 中的二进制与十进制的相互转换

在 C++ 中,可以使用 stoi() 函数将二进制字符串转换为十进制整数。stoi() 函数的第一个参数是需要转换的字符串,第二个参数是进制数。如果进制数省略,则默认为 10,即十进制。例如,以下代码将二进制字符串 "1100101" 转换为十进制整数:

#include <iostream>
#include <string>

using namespace std;

int main() {
  string binaryString = "1100101";
  int decimalInteger = stoi(binaryString, 0, 2);
  cout << decimalInteger << endl;  // 输出:101

  return 0;
}

同样,可以使用 to_string() 函数将十进制整数转换为二进制字符串。to_string() 函数的第一个参数是要转换的数字,第二个参数是进制数。如果进制数省略,则默认为 10,即十进制。例如,以下代码将十进制整数 101 转换为二进制字符串:

#include <iostream>
#include <string>

using namespace std;

int main() {
  int decimalInteger = 101;
  string binaryString = to_string(decimalInteger, 2);
  cout << binaryString << endl;  // 输出:1100101

  return 0;
}

4. Java 中的二进制与十进制的相互转换

在 Java 中,可以使用 Integer.parseInt() 方法将二进制字符串转换为十进制整数。Integer.parseInt() 方法的第一个参数是需要转换的字符串,第二个参数是进制数。如果进制数省略,则默认为 10,即十进制。例如,以下代码将二进制字符串 "1100101" 转换为十进制整数:

String binaryString = "1100101";
int decimalInteger = Integer.parseInt(binaryString, 2);
System.out.println(decimalInteger);  // 输出:101

同样,可以使用 Integer.toBinaryString() 方法将十进制整数转换为二进制字符串。Integer.toBinaryString() 方法的第一个参数是要转换的数字。例如,以下代码将十进制整数 101 转换为二进制字符串:

int decimalInteger = 101;
String binaryString = Integer.toBinaryString(decimalInteger);
System.out.println(binaryString);  // 输出:1100101