Obsah

Převod z dvojkové soustavy do desítkové

Program čte jednotlivé binární číslice (znaky) do doby, než narazí na konec řádky, nebo jiný (nepovolený) znak.

Zdrojový kód

/*
binToDec.cpp
 
Jakub Bureš
SPŠE V Úžlabině
 
build using:
g++ -Wall -Wno-long-long -pedantic binToDec.cpp -o binToDec
*/
#include <stdio.h> 
#include <stdlib.h> 
 
int main(int argc, char *argv[]) 
{ 
        unsigned long long desitkove = 0; 
        while(true) 
        { 
                char cislice = getchar(); 
                if (cislice == '\n') 
                        break; 
 
                switch(cislice) 
                { 
                        case '0': 
                                desitkove = desitkove * 2; 
                                break; 
                        case '1': 
                                desitkove = desitkove * 2 + 1; 
                                break; 
                        default: 
                                puts("Chybny vstup!"); 
                                return 1; 
                } 
        } 
 
        printf("Vysledek je: %llu\n", desitkove); 
        return 0; 
}

Ukázka běhu programu

burak@debbie:$ ./binToDec 
101010
Vysledek je: 42