#include< stdio.h> #include< stdlib.h> #include< math.h>
unsigned long int puiss(unsigned long int x, int n) { if(n == 0) Rückgabe 1; if(n == 1) return x; vorzeichenlos long int x2 = potenzen(x,n/2); if(n%2 == 0) Rückgabe x2*x2; return x2 * x2 * x; } int char_to_int(char d) { char str[2]; str[0] = d; str[1] = '\0'; return (int) strtol(str, NULL, 10); }
unsigned int convertirEnBase10(int binary) { char snum[20]; // konvertieren in String itoa(binär,snum,10); // Wie viele Zeichen? int nc = log10((int)binär)+1; int dezimal = 0; for(int i = nc-1 ; i >= 0; i--) { dezimal += char_to_int(snum[i]) * puiss( 2, (nc-1)-i); } dezimal zurückgeben; } int main() { binär int; while(true) { printf("Geben Sie eine Binärzahl ein"); scanf("%d",& binär); printf ("%ld in Basis 2 = %ld in Basis 10\n",binär, convertInBase10 (binär); } 0 zurückgeben; }
|