入力する16進数の2行の2進数があり、次にビット操作が行で実行されます。これは私がしました:-
int main()
{
vector < char > v1;
vector < char > v2;
char c;
int i = 0;
int j = 0;
while((c = cin.get()) != ' ' || c!= '\0' || c!= '\n')
{
cin.putback(c);
cin >> hex >> c;
v1.push_back(0);
v1[i] = v1[i] | c;
i++;
}
while((c = cin.get()) != ' ' || c!= '\0' || c!= '\n')
{
cin.putback(c);
cin >> hex >> c;
v2.push_back(0);
v2[j] = v1[j] | c;
j++;
}
for(int i = 0; i < v1.size(); i++)
cout << hex << v1[i]; //this I wrote to check whether I was doing the right thing
return 0;
}
そして、私は入力として与えました:-
eaa8b5f8aaf9174145bf43e1784b
bafa3ed18510abd11f4564e32133
しかし、コンパイルしたときに出力がなく、オンラインコンパイラを使用していたので、時間制限を超えたと表示されました。これはセグメンテーション違反の兆候であると思います。
編集:整数として機能するが1バイトのデータ型を使用すると、問題は解決すると思います