Тема: Поясніть як працює програма, переведення чисел з однієї системи в іншу
#include "stdafx.h"
#include "iostream"
#include "conio.h"
#include "cmath"
#include <ctime>
#include <time.h>
#include <cstdio>
#define DIG "0123456789ABCDEF"
using namespace std;
int Atoi(char *s, int p)
{
int i, a, digit[64] = {0};
for(i = 0; DIG[i]; i++)
digit[DIG[i]] = i;
for(i = a = 0; s[i]; i++)
a = a * p + digit[s[i]];
return a;
}
void Itoa(int a, int p, char *s)
{
static int i = 0, n;
if (a)
{
++i;
Itoa(a / p, p, s);
s[n - i--] = DIG[a % p];
}
else
s[n = i] = '\0';
}
int main()
{
setlocale(LC_ALL, "Russian");
int a1, a2;
char s[1024];
cout<<"Введите начальную систему счисления ";
cin>>a1;
cout<<"Введите конечную систему счисления ";
cin>>a2;
cout<<"Введите число ";
cin>>s;
Itoa(Atoi(s, a1), a2, s);
cout << s << endl;
_getch();
return 0;
}