|
|
@ -0,0 +1,67 @@ |
|
|
|
/*********************** |
|
|
|
* Umrechnung Dezimalzahl |
|
|
|
* nach Dualzahl |
|
|
|
* |
|
|
|
* Rainer Hihn |
|
|
|
*/ |
|
|
|
|
|
|
|
#include <stdio.h> |
|
|
|
|
|
|
|
int main(void) |
|
|
|
{ |
|
|
|
/** |
|
|
|
* Variablendeklaration |
|
|
|
*/ |
|
|
|
int iDezi = 0; |
|
|
|
int iDual[16] = {0}; |
|
|
|
int i = 0; |
|
|
|
int iErg = 0; |
|
|
|
int iRest = 0; |
|
|
|
|
|
|
|
/** |
|
|
|
* Einlesen der Dezimalzahl |
|
|
|
*/ |
|
|
|
printf("Geben Sie eine Dezimalzahl ein: \n"); |
|
|
|
scanf("%i", &iDezi); |
|
|
|
printf("\n"); |
|
|
|
|
|
|
|
/** |
|
|
|
* Pruefen ob die Dezimalzahl |
|
|
|
* groesser als 16 bit ist |
|
|
|
*/ |
|
|
|
if(iDezi > 65536) |
|
|
|
{ |
|
|
|
printf("Geben Sie eine Dezimalzahl ein die kleiner als 65.536 ist \n"); |
|
|
|
} |
|
|
|
else{ |
|
|
|
iErg = iDezi; |
|
|
|
i = 0; |
|
|
|
|
|
|
|
while(iErg > 0) |
|
|
|
{ |
|
|
|
if(iErg % 2 == 0) |
|
|
|
{ |
|
|
|
iDual[i] = 0; |
|
|
|
} |
|
|
|
else { |
|
|
|
iDual[i] = 1; |
|
|
|
} |
|
|
|
|
|
|
|
iErg = iErg / 2; |
|
|
|
i++; |
|
|
|
} |
|
|
|
|
|
|
|
/** |
|
|
|
* Ausgabe der Dualzahl |
|
|
|
*/ |
|
|
|
|
|
|
|
i = 15; |
|
|
|
for(i = 15; i >= 0; i--) |
|
|
|
{ |
|
|
|
printf("%i", iDual[i]); |
|
|
|
} |
|
|
|
printf("\n"); |
|
|
|
} |
|
|
|
|
|
|
|
return 0; |
|
|
|
} |