【发布时间】:2020-03-15 18:26:20
【问题描述】:
我想通过异或比较二进制数
例如: bin1: 1011 bin2: 0011
结果:1000 ==> (bin1[0] != bin2[0], bin1[1] == bin2[1], bin1[2] == bin2[2], bin1[3] == bin2 [3])
我的代码:
#include <iostream>
using namespace std;
int main() {
int n;
int bin;
int vec1[bin];
int vec2[bin];
int a;
cin>>n;
for(int i=0;i<n;i++) {
cin>>bin;
for(int j=0;j<bin;j++) {
cin>>vec1[j];
cin>>vec2[j];
}
}
for(int i=0;i<n;i++) {
for(int j=0;j<bin;j++) {
if(vec1[j]==vec2[j]) {
a = 0;
} else if (vec1[j]!=vec2[j]) {
a = 1;
}
cout<<a<<" ";
}
cout<<endl;
}
}
【问题讨论】:
-
不是异或吗?
bin1 ^ bin2 -
您在找运营商
&&吗? -
bin1和bin2的类型有哪些? -
将使用一些代码来 (a) 获取数字,(b) 比较数字,以及 (c) 生成输出。您的问题应该是至少尝试所有。如果您尝试过,请发布您的minimal reproducible example,也许我们可以看到哪里出了问题。如果你还没有尝试过......那么......是时候尝试了。
-
bin1和bin2整数