#include <iostream>
using namespace std;
const int BITS_IN_INT = 8 * sizeof(int); // глобальна константа - кількість біт у цілому числі
void printBinary(int num, string label) {
cout << label << ": " << num << " (";
for(int i = BITS_IN_INT-1; i >= 0; i--) {
cout << ((num >> i) & 1);
}
cout << ")" << endl;
int main() {
int x, y, m, n;
cout << "Введіть x, y, m, n: ";
cin >> x >> y >> m >> n;
cout << "x: " << x << endl;
cout << "y: " << y << endl;
cout << "m: " << m << endl;
cout << "n: " << n << endl;
printBinary(x, "x");
printBinary(y, "y");
if(x & (1 << m) && !(x & (1 << n)) && (x & 1)) {
y |= (1 << (BITS_IN_INT-1)); // встановити старший біт
y &= ~(1 << 6); // скинути 6-тий біт
printBinary(x, "x_out");
printBinary(y, "y_out");
return 0;
Copyright © 2024 SCHOLAR.TIPS - All rights reserved.
Answers & Comments
#include <iostream>
using namespace std;
const int BITS_IN_INT = 8 * sizeof(int); // глобальна константа - кількість біт у цілому числі
void printBinary(int num, string label) {
cout << label << ": " << num << " (";
for(int i = BITS_IN_INT-1; i >= 0; i--) {
cout << ((num >> i) & 1);
}
cout << ")" << endl;
}
int main() {
int x, y, m, n;
cout << "Введіть x, y, m, n: ";
cin >> x >> y >> m >> n;
cout << "x: " << x << endl;
cout << "y: " << y << endl;
cout << "m: " << m << endl;
cout << "n: " << n << endl;
printBinary(x, "x");
printBinary(y, "y");
if(x & (1 << m) && !(x & (1 << n)) && (x & 1)) {
y |= (1 << (BITS_IN_INT-1)); // встановити старший біт
y &= ~(1 << 6); // скинути 6-тий біт
}
printBinary(x, "x_out");
printBinary(y, "y_out");
return 0;
}