Advertisement
evcamels

course_13

Dec 13th, 2021
592
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 2.90 KB | None | 0 0
  1. #include <iostream>
  2. #include <cmath>
  3. #include <bitset>
  4.  
  5. using namespace std;
  6. class sixteenth{
  7.     int a,b;
  8. public:
  9.     sixteenth(int a, int b){
  10.         this->a = a;
  11.         this->b = b;
  12.     }
  13.     void info(){
  14.         cout << "Даны числа: ";
  15.         cout << hex << a << " " << hex << b << endl;
  16.         cout << "============================" << endl;
  17.     }
  18.     void sum(){
  19.         cout << "Сложение: ";
  20.         cout << hex << a+b << endl;
  21.     }
  22.     void diff(){
  23.         cout << "Вычитание: ";
  24.         cout << hex << a-b << endl;
  25.     }
  26.     void multi(){
  27.         cout << "Умножение: ";
  28.         cout << hex << a*b << endl;
  29.     }
  30.     void div(){
  31.         cout << "Деление: ";
  32.         cout << hex << a/b << endl;
  33.     }
  34.     void bit_l(int c){
  35.         unsigned short short11 = a;
  36.         bitset<16> bitset11{short11};
  37.         unsigned short short12 = a >> c;
  38.         bitset<16> bitset12{short12};
  39.         cout << bitset12 << endl;
  40.     }
  41.     void bit_r(int c){
  42.         unsigned short short11 = a;
  43.         bitset<16> bitset11{short11};
  44.         unsigned short short12 = a << c;
  45.         bitset<16> bitset12{short12};
  46.         cout << bitset12 << endl;
  47.     }
  48.     void _dec(){
  49.         cout << "В десятичной системе счисления: " << dec << a << " " << dec << b << endl;
  50.     }
  51.    
  52. };
  53.  
  54. int main(){
  55.     bool per1 = 1;
  56.     while(per1!=0){
  57.     cout << "Введите два числа в 16-ричной системе счисления." << endl;
  58.     int a,b;
  59.     cout << "Первое число: ";
  60.     cin >> hex >> a;
  61.     cout << "Второе число: ";
  62.     cin >> hex >> b;
  63.     bool per = 1;
  64.     while(per!=0){
  65.     cout << endl << "============================" << endl;
  66.     cout << "Введите что хотите сделать: ";
  67.     char count;
  68.     cout << endl;
  69.     cout << "1. Сложение" << endl;
  70.     cout << "2. Вычитание" << endl;
  71.     cout << "3. Умножение" << endl;
  72.     cout << "4. Деление" << endl;
  73.     cout << "5. Смещение вправо" << endl;
  74.     cout << "6. Смещение влево" << endl;
  75.     cout << "7. Информация о введенных числах" << endl;
  76.     cout << "8. В десятичной системе счисления" << endl;
  77.     cout << "============================" << endl;
  78.     cin >> count;
  79.     sixteenth x(a,b);
  80.     switch(count){
  81.         case '1': x.sum();break;
  82.         case '2':x.diff();break;
  83.         case '3':x.multi();break;
  84.         case '4':x.div();break;
  85.         case '8':x._dec();break;
  86.         case '7': x.info();break;
  87.         case '5':
  88.     cout << "Введите число бит для сдвига вправо: ";
  89.     int r;
  90.     cin >> r;
  91.     x.bit_r(r);
  92.             break;
  93.         case '6':
  94.     cout << "Введите число бит для сдвига влево: ";
  95.     int l;
  96.     cin >> l;
  97.     x.bit_l(l);
  98.             break;
  99.     }
  100.         cout << "Для продолжения введите 1, для завершения работы с этими числами 0:";
  101.         cin >> per;
  102.     }
  103.         cout << "Продолжить работу с новыми числами? Введите 1, закончить программу 0: ";
  104.         cin >> per1;
  105.     }
  106.     return 0;
  107. }
  108.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement