Т.е. выполнить матем. операции с этим числами, я так понял?
101011 (2) = 43 (10)
101 (2) = 5 (10)
101011 + 101 = 110000 (2) = 48 (10)
101011 - 101 = 100110 (2) = 38 (10)
101011 * 101 = 11010111 (2) = 215 (10)
101011 / 101 = 1000 (2) = 8 (10) - приблизительно. Точный результат 8,6 нельзя записать в двоичном виде.
#include <cstdlib>
#include <iostream>
#include <cstring>
using namespace std;
void Poly(int nmb) {
char s[20]="",st[20];
itoa(nmb,st,10);
int k=strlen(st);
for (int i=0; i<k; i++) s[i]=st[k-i-1];
if (strcmp(s,st)==0) cout<<"number: "<<nmb<<" palindrom"<<endl;
else { k=atoi(s); nmb+=k; Poly(nmb); }
}
int main(){
int nn;
cout<<"number: "; cin>>nn;
Poly(nn);
system("pause");
return 0;
}
<span>
</span>
Ответ:
Наскальный рисунок-книга-магнитная лента-лазерный диск
Двоичная - 0001 1111
восьмеричная - 37