Pozycyjne systemy liczbowe. Przeliczanie liczby DEC na BIN, OCT, HEX

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.