#include <iostream>
#include <cmath>
using namespace std;
int main()
{
int number, coun = 0, d, first, last;
double pwr;
setlocale(LC_ALL, "Russian");
cout << "Поменять первую и последнюю цифры числа>" << endl;
cout << "Введите число: ";
cin >> number;
d = number;
while (d > 0)
{
d /= 10;
coun++;
cout << "count = " << coun << endl;
}
pwr = pow(10, coun-1);
//к примеру число равно 321
//first = 3
//last = 1
//number = 32
//number = 323
//number = 23
//number = 123
first = number / (int)pwr;
last = number % 10;
number /= 10;
number = number * 10 + first;
number %= int(pwr);
number += last * int(pwr);
cout << "Result: " << number << endl;
return 0;
}
0101 1101 1000 1010 1010 1111 0010 1010
Если слева недостаточно цифр до тетрады, то слева добавляем нули.
Далее переводим тетрады в шестнадцатеричный код с таблицы:
0000 => 0 0001 => 1 0010 => 2 0011 => 3 0100 => 4
0101 => 5 0110 => 6 0111 => 7 1000 => 8 1001 => 9
1010 => A 1011 => B 1100 => C 1101 => D 1110 => E
1111 => F
0101 1101 1000 1010 1010 1111 0010 1010 = 5D8AAF2A
Для перевода в восьмеричный код делаем аналогично, только на двоичный код делим на группы по 3 цифры:
001 011 101 100 010 101 010 111 100 101 010
И также если не хватает до 3-ех цифр, то слева добавляем нули.
Затем переводим по аналогичной таблице:
000 => 0 001 => 1 010 => 2 011 => 3
100 => 4 101 => 5 110 => 6 111 => 7
001 011 101 100 010 101 010 111 100 101 010 = 13542527452