poniedziałek, 1 lutego 2016

C - zamiana liczby całkowitej na binarną

W tym poście przedstawię krótki program, którego zadaniem będzie zamiana wartości liczbowej całkowitej na binarną.


Poniżej od razu załączam kod z niezbędnym komentarzem.

#include <stdio.h>
#include <stdlib.h>
 
//Zmiana wartości całkowitej na binarną
 
int main()
{
    int calkowita = 0;
    int i = 0;
    int i2 = 1;
    int tablica[15];
    int pom = 0;
 
    printf("Podaj wartosc jaka ma byc zamieniona: ");
    scanf("%d", &calkowita);
 
    printf("\nPoszukiwana liczba wyglada nastepujaco: \n");
 
    //Przejscie po każdej liczbie
    for(i2=15, pom = 0; i2>=0; i2--, pom++)
    {
        //Przesuniecie bitowe na liczbie
        i = calkowita >> i2;
 
        //Sprawdzenie wartosci liczby i przypisanie odpowiedniej 
        //danej do tablicy
        if(i&1)
        {
            tablica[pom]=1;
        }
        else
        {
            tablica[pom]=0;
        }
    }
 
    //Usunięcie 0 z początku liczby, tak aby nie były wieswietlane
    for(pom=0; pom<=15; pom++)
    {
        if(tablica[pom]!= 0)
        {
            i = pom;
            break;
        }
    }
 
    //Wypisanie liczby binarnej na ekran
    for(pom=i; pom<=15; pom++)
    {
        printf("%d", tablica[pom]);
    }
 
    printf("\n");
 
    return 0;
}

Rys. 1. przedstawia okno programu Code Blocks z wynikiem zamiany wartości 78 na binarną.

Rys. 1. Wynik działania