Предположим, у меня есть восьмибитное число, которое я хочу установить для каждой позиции бита номер 1 или ноль, это динамическая ситуация.
Предположим, например, что в такой ситуации пользователь вводит два числа, которые равны или отличаются только на одно, и я хочу, чтобы на каждой итерации от 0 до 7 записывать эти 0 и 1 в двоичном виде числа, как я могу реализовать это в цикле? Пожалуйста, помогите мне.
Пример:
int result = 0;
for (int i = 0; i < 8; i++) {
int x, y;
cin >> x >> y;
if (x == y) {
// set at i position 0;
}
else if ((x-y) == 1) {
// set at i position 1;(in result number)
}
}
обновлено:
это то, что я хочу реализовать:
Добавление двух 8-битных двоичных чисел, дополняющих два
вот код для этого
#include <iostream>
using namespace std;
int main(){
int x,y;
cin>>x>>y;
int result=0;
int carry=0;
int sum=0;
for (int i=0;i<8;i++){
sum=carry;
sum+= (x&(1<<i));
sum+=(y&(1<<i));
if (sum>1){
sum-=2;
carry=1;
}
else{
carry=0;
}
result|=sum;
result<<=1;
}
cout<<result<<" "<<endl;
return 0;
}