Advertisement
Gamerkin

Перевод из любой системы счисления в любую другую

Dec 1st, 2022
86
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 1.41 KB | Source Code | 0 0
  1. // Перевод из 10-ой системы счисления в систему счисления b
  2. string sys(int b, int n) {
  3.  
  4.     string res = "";
  5.  
  6.     for (int i = 0; n > 0; i++) {
  7.  
  8.         if (n == b) {
  9.             res = "10" + res;
  10.             break;
  11.         }
  12.  
  13.         else {
  14.             if (n % b > 9) {
  15.                 res = char('A' + (n % b) - 10) + res;
  16.             }
  17.             else {
  18.                 res = char((n % b) + '0') + res;
  19.             }
  20.         }
  21.  
  22.         n /= b;
  23.     }
  24.  
  25.     return res;
  26. }
  27.  
  28. // Перевод из одной системы счисления (base) в указанную (base2)
  29. int main() {
  30.     setlocale(0, "");
  31.     int n, base, base2;
  32.     string s;
  33.     string n2;
  34.     cout << "Введите число: " << endl;
  35.     cin >> s;
  36.     cout << "Введите исходную систему счисления: " << endl;
  37.     cin >> base;
  38.     cout << "Введите конечную систему счисления: " << endl;
  39.     cin >> base2;
  40.     n = stoi(s, 0, base); // Преобразования строки в число из исходной системы счисления (base) в 10-ю систему счисления
  41.     n2 = sys(base2, n); // Преобразование числа из 10-ой системы счисления в конечную систему счисления (base2)
  42.     cout << n2 << endl;
  43.     return 0;
  44. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement