1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
|
#include "stdio.h" #include "string.h"
void convert(int m, char* original, int n, char* conversion){ int len = strlen(original),i,j,carry,k = 0;
for(i = 0; i < len;){ carry = 0;
for(j = i; j < len; j++){ original[j] = original[j] - '0' + carry*m; carry = (original[j]) % n ; original[j] = (original[j]) / n + '0'; } conversion[k++] =(char) (carry + '0');
while(original[i] == '0')i++; } conversion[k] = '\0'; } int main(){ char dec[1001],bin[4000]; int i,j; char temp;
while(scanf("%s",dec) != EOF){ convert(10,dec,2,bin); convert(2,bin,10,dec);
for(j = strlen(dec)-1,i=0;i<j;){ temp = dec[i]; dec[i++] = dec[j]; dec[j--] = temp; } printf("%s",dec); } return 0; }
|