Pozycyjne systemy liczbowe. Przeliczanie liczby DEC na BIN, OCT, HEX.
Zanim zaczniesz kodować ...
Aby napisać progam na przeliczanie liczby dziesiętnej na liczbę w innym systemie pozycyjnym musisz najpierw zrozumieć algorytm, czyli sposób postępowania. Pomoże Ci w tym artykuł:
przeliczanie liczb między pozycyjnymi systemami liczbowymi
Koduj samodzielnie, ale film może Ci pomóc ...
Przykładowy kod programu z powyższego filmu:
#include <iostream> using namespace std; string dec2p(int liczba, int podstawa){ string wynik=""; int reszta; if(liczba==0) wynik="0"; while(liczba>0){ reszta=liczba%podstawa; if(reszta<10) wynik=char(reszta+48)+wynik; else wynik=char(reszta+48+7)+wynik; liczba=liczba/podstawa; } return wynik; } int main() { int liczbaDec; cout << "podaj liczbe w systemie DECYMALNYM: "; cin >> liczbaDec; cout << "w systemie BINARNYM: " << dec2p(liczbaDec, 2) << endl; cout << "w systemie OCTALNYM: " << dec2p(liczbaDec, 8) << endl; cout << "w systemie HEKSADECYMALNYM: " << dec2p(liczbaDec, 16) << endl; return 0; }
Użycie kodu:
- Powyższy kod można wykorzystać w środowisku Dev C++ lub innym. Wystarczy utworzyć nowy projekt i wkleić ten kod zamiast istniejącego.
- Można też użyć kodu na jednej ze stron WWW z kompilatorami on-line, na przykład na stronie: www.cpp.sh
ZADANIA:
Zadanie 1
Napisz program, który przeliczy podaną liczbę z systemu diesiętnego (DEC) na system ósemkowy (OCT). Zadanie zrealizuj za pomocą funkcji zwracającej wartość typu string z jednym argumentem liczba typu int. Liczbę do przeliczenia wczytaj w programie głównym z klawiatury.
Zadanie 2
Napisz program, który przeliczy podaną liczbę z systemu dziesiętnego (DEC) na system dwójkowy (BIN). Zadanie zrealizuj bez użycia funkcji. Liczbę do przeliczenia wczytaj w programie głównym z klawiatury.