Advertisement
Gamerkin

1.1 saod

Sep 20th, 2023
140
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 3.92 KB | None | 0 0
  1. #include <iostream>
  2.  
  3. using namespace std; // Подключение пространства имён
  4.  
  5. void First() {
  6.     cout << "Установка четырёх старших битов в 1" << endl;
  7.     // Присвоение переменной значения из константы в шестнадцатеричной системе
  8.     int n = 0x85; // в двоичной 10000101
  9.  
  10.     cout << "Значение переменной: " << n << endl;
  11.  
  12.     // Маска для установки в 1 четырёх старших битов
  13.     n |= 240; // в двоичной 11110000
  14.  
  15.     // Вывод результата
  16.     cout << "Значение переменной после преобразования: " << n << endl;
  17.  
  18. }
  19.  
  20. void Second() {
  21.     cout << "Обнуление 9-го, 11-го, 3-го битов" << endl;
  22.     // Определение переменной целого типа
  23.     int n;
  24.  
  25.     // Ввод значения с клавиатуры
  26.     cout << "Введите значение переменной: "; cin >> n; cout << endl;
  27.    
  28.     n &= (~((1 << 9) | (1 << 11) | (1 << 3))); // обнуление 9-го, 11-го, 3-го битов
  29.  
  30.     // Вывод результата
  31.     cout << "Значение переменной после преобразования: " << n << endl;
  32.  
  33. }
  34.  
  35. void Third() {
  36.     cout << "Умножение значения переменной на 512 с использованием поразрядной операции" << endl;
  37.     // Определение переменной целого типа
  38.     int n;
  39.  
  40.     // Ввод значения с клавиатуры
  41.     cout << "Введите значение переменной: "; cin >> n; cout << endl;
  42.  
  43.     // Умножение значения переменной на 512 с использованием поразрядной операции
  44.     n = n << 9; // Сдвиг влево на 9 битов эквивалентен умножению на 2^9 (512)
  45.  
  46.     // Вывод значения переменной после умножения
  47.     cout << "Значение переменной после умножения на 512: " << n << endl;
  48.  
  49. }
  50.  
  51. void Fourth() {
  52.     cout << "Деление значения переменной на 512 с использованием поразрядной операции" << endl;
  53.     // Определение переменной целого типа
  54.     int n;
  55.  
  56.     // Ввод значения с клавиатуры
  57.     cout << "Введите значение переменной: "; cin >> n; cout << endl;
  58.  
  59.     // Деление значения переменной на 512 с использованием поразрядной операции
  60.     n = n >> 9; // Сдвиг вправо на 9 битов эквивалентен делению на 2^9 (512)
  61.  
  62.     // Вывод значения переменной после умножения
  63.     cout << "Значение переменной после деления на 512: " << n << endl;
  64. }
  65.  
  66. void Fiveth() {
  67.     cout << "Оператор присваивания с использованием поразрядных операций" << endl;
  68.     // Определение переменной целого типа
  69.     int n;
  70.  
  71.     // Инициализация маски (в данном случае единица в младшем разряде)
  72.     int mask = 1;
  73.  
  74.     // Ввод изменяемого числа с клавиатуры
  75.     cout << "Введите значение переменной: "; cin >> n; cout << endl;
  76.  
  77.     // Оператор присваивания с использованием поразрядных операций
  78.     n = n | mask;
  79.  
  80.     // Вывод результата
  81.     cout << "Значение переменной после преобразования: " << n << endl;
  82. }
  83.  
  84.  
  85.  
  86.  
  87. int main()
  88. {  
  89.     setlocale(0, "");
  90.  
  91.     First();
  92.     Second();
  93.     Third();
  94.     Fourth();
  95.     Fiveth();
  96.  
  97.     return 0;
  98.     system("pause");
  99. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement