Если можно создайте код с комментариями. Заранее благодарен Ввести целое неотрицательное число X (0 до 2^16-1) и два различных числа A, B (0 <= A, B <= 15). В числе X сбросить биты номер A и номер B. Вывести итоговое число X. С уважением Denvil
#include <iostream> #include <bitset> using namespace std; int main() { cout<<"X: "; int X; cin >> X; cout << bitset<16>(X) << '\n'; int A,B; cout<<"A: "; cin >> A; cout<<"B: "; cin >> B; int C = 0; C = 1 << A; X = X ^ C; C = 1 << B; X = X ^ C; cout << bitset<16>(X) << '\n'; return 0; } C #include <iostream> #include <bitset> using namespace std; int main() { cout<<"X: "; int X; cin >> X; cout << bitset<16>(X) << '\n'; int A,B; cout<<"A: "; cin >> A; cout<<"B: "; cin >> B; int C = 0; C = 1 << A; X = X ^ C; C = 1 << B; X = X ^ C; cout << bitset<16>(X) << '\n'; return 0; }
Dunvil, #include <stdio.h> #include <stdlib.h> int main() { int x, a, b; scanf("%d", &x); scanf("%d", &a); scanf("%d", &b); // делаем маску и сбрасываем бит x &= ~(1 << a); x &= ~(1 << b); printf("result: %d", x); } C #include <stdio.h> #include <stdlib.h> int main() { int x, a, b; scanf("%d", &x); scanf("%d", &a); scanf("%d", &b); // делаем маску и сбрасываем бит x &= ~(1 << a); x &= ~(1 << b); printf("result: %d", x); }