priklady-resene:binarni-na-desitkove

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.

/*
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; 
}
burak@debbie:$ ./binToDec 
101010
Vysledek je: 42
  • Upravte program tak, aby využíval cyklus do-while. Všimnětě si značného zjednodušení výsledného kódu.
  • [Pokročilé] Vytvořte program(y) pro převod z dalších číselných soustav do desítkové soustavy. Můžete použít identický princip, stačí identifikovat, jaké číslo ve výpočtu představuje základ soustavy a které hodnotu číslice.
  • priklady-resene/binarni-na-desitkove.txt
  • Poslední úprava: 2020/01/19 13:40
  • autor: bures