/***********************
|
|
* 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;
|
|
}
|