Вопрос преобразования числа в разных системах счисления и его сохранения в C++

Рейтинг: 0Ответов: 0Опубликовано: 18.08.2023

В C++ есть возможность представлять числа в двоичной, десятичной, восьмеричной и шестнадцатеричной системе счисления. Пример:

#include <iostream>

using namespace std;

int main()
{
    //СС - система счисления
    const int a = 0b101; //101 -> 5. Двоичная СС
    const int b = 10; //100 -> 100. Десятичная СС
    const int c = 0234; // 234 -> 156. Восьмеричная СС
    const int d = 0xFFAA; //FFAA -> 65450. Шестнадцатеричная СС
    return 0;
}

Но, есть ли возможность представлять числе в виде СС, которую я хочу. Если я сделаю такой код:

#include <iostream>

using namespace std;

int main()
{
    int a;
    cin >> a;
    cout << a;
    return 0;
}

И введу 0b101, то очевидно выдаст 0. Если попробую так:

#include <iostream>

using namespace std;

int main()
{
    int a, b;
    cin >> a >> b;
    cout << a + b;
    return 0;
}

И введу 1001 1001 очевидно выдаст 2002. Есть ли возможность как-то превратить данное число в двоичную систему, не через функции и строки(как некоторые делают), а именно сохранить в виде 0b1001? Допустим, введу 1001 и, сделав некоторые действия, он будет считаться 0b1001.

Ответы

Ответов пока нет.