以下C++
代码行的Java
等价物是什么
int x = Integer.parseInt("0010011110", 2);
答案 0 :(得分:7)
std::stoi(自C ++ 11开始):
int x = std::stoi("0010011110", nullptr, 2);
答案 1 :(得分:1)
您可以使用strtol
来解析基数2中的整数:
const char *binStr = "0010011110";
char *endPtr;
int x = strtol(binStr, &endPtr, 2);
cout << x << endl; // prints 158
答案 2 :(得分:1)
将strtol包裹为parseInt
#include <stdio.h>
#include <stdlib.h>
int parseInt(const std::string& s, int base) {
return (int) strtol(s.c_str(), null, base);
}
int x = parseInt("0010011110", 2);
答案 3 :(得分:0)