假设,我有一个存储在数组或字符串中的二进制数和等效的十进制数。超出了偶数long long int的范围。在这种情况下我该怎么办?我正在使用C++
最佳答案
正如我在评论中提到的那样-使用bitset。这是一个例子:
#include <iostream>
#include <bitset>
using namespace std;
typedef bitset<200> mybitset; // Or some other number
mybitset convert(const char *s)
{
mybitset result;
for (int loop = 0; s[loop]; ++loop) {
if (s[loop] == '1') result[loop] = true;
}
return result;
}
int main() {
mybitset num_1 = convert( "100101011101010100001");
mybitset num_2 = convert("110010100001001010100011");
mybitset result = num_1 & num_2;
cout << num_1.to_string() << endl;
cout << num_2.to_string() << endl;
cout << result.to_string() << endl;
// your code goes here
return 0;
}
或ideone