ФІО = Горбаченко В.А. Запитання: /* Ефтменко. Лаба 3. Варіант 10 Написати функцію, яка повертає число, одерєжане з цілого числа x, в якому циклічно зсунуті n розрядів вправо. Перевыряти правильність значення n. */ #include #include #include using namespace std; // підключаємо все необхідне для роботи програми void print_bits (unsigned n) { // функція друкує біти, функція з лекії int bit; // змінна, в якій буде знаходитись поточне значення кількості бітів for (bit = sizeof(n)*4-1; bit >= 0; bit--) // початкове значення bit = довжина змінної unsigned { if ((n >> bit) & 01) { // тут іде логічне множення... складно пояснити, але спробую... // (n >> bit) - здвигає на "bit" розрядів // & 01 - логічне множення - тобто, грубо кажучи кусає правіший біт // тут іде побітове множення(чи просто кажучи побітове "і"), для прикладу: // 10101110001101 // & побітове "і" // 00000000000001 тобто тут насправді (01) // = // 00000000000001 - цей результат позитивний, тобто більше нуля, // а значить, грубо кажучи == TRUE putchar (\'1\'); } else {// іначе 0 - наприклад: // 011010 // & // 000001 // = // 000000 - == FALSE або нулю - негативний putchar (\'0\'); } if (bit % 4 == 0) putchar (\' \'); // якщо біт, на якому стоїть лічильник кратний чотирьом, то ставимо пробіл } cout<>=1; } return n; } main () { unsigned num; // створюємо цілу беззнакову двохбайтову змінну int n; cout << "Input int" << endl; // підсказка користувачу cin >> num; // зчитуємо число print_bits (num); // друкуємо біти do { cout << "Input n" << endl; // підсказка користувачу cin >> n; // зчитуємо число if (n<=0) {cout<<"ERROR : N>0"<