#include <bitset>
#include <iostream>
int main() {
std::bitset<8> a = 10101010;
std::bitset<8> b = 11111111;
std::cout << (a ^ b);
}
运行以下代码时,结果为:11010101
预期输出为:01010101
我做错了什么吗?
您使用
a
s 的值初始化 b
和 int
。
为了使用二进制值,您需要
0b
前缀:
#include <bitset>
#include <iostream>
int main() {
std::bitset<8> a = 0b10101010;
std::bitset<8> b = 0b11111111;
std::cout << (a ^ b);
}