Umrechnung Dezimalzahl nach Dualzahl

Tolle Übungsaufgabe in C: ein Programm das eine Dezimalzahl in eine Dualzahl umwandelt.

/***********************
 * Umrechnung Dezimalzahl
 * nach Dualzahl
 *
 * Rainer Hihn
 */

#include 

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

Leave a Reply