Zobrazit stránkuStarší verzeZpětné odkazyNahoru Tato stránka je pouze pro čtení. Můžete si pouze prohlédnout zdrojový kód, ale ne ho měnit. Zeptejte se správce, pokud si myslíte, že něco není v pořádku. ====== 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 ===== <code c> /* 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; } </code> ===== Ukázka běhu programu ===== <code bash> burak@debbie:$ ./binToDec 101010 Vysledek je: 42 </code> ===== Návrhy na cvičení ===== * 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:40autor: bures