Binarny system liczbowy
System binarny (dwójkowy) – jest podstawowy system liczbowy spotykany w informatyce i elektronice. Podstawą jest liczba 2. Jego zrozumienie jest niezbędne do zrozumienia podstaw funkcjonowania wielu urządzeń cyfrowych w tym komputerów.
Spis treści
System binarny (dwójkowy)
Liczbę z systemu binarnego na dziesiętny (i na odwrót) można łatwo zamienić w kalkulatorze Windows. Aby móc to zrobić musisz włączyć kalkulator w trybie “programisty”. Jest to najszybszy sposób na zamianę liczb z systemu dziesiętnego na binarny i odwrotnie.
Warto także znać metodę obliczania liczby posiadając tylko kartkę papieru. Jest to bardzo częste zadanie na maturach z informatyki. Na poniższym obrazku została zaprezentowana zamiana liczby dziesiętnej 42 oraz liczby binarnej 101010 między sobą:
Ręczna zamiana liczby binarnej na dziesiętną
Aby zamienić liczbę binarną na dziesiętną należy zapisać ją od tył. Następnie każdą z cyfr cząstkowych mnożymy przez podstawę systemu binarnego a więc liczbę 2. Ostatnim krokiem jest podniesienie kolejno wszystkich cyfr do potęgi numerując od 0 do n. Zsumowanie ilorazu da nam wynik w postaci dziesiętnej.
Ręczna zamiana liczby dziesiętnej na binarną
Aby zamienić liczbę dziesiętną na binarną ciągle dzielimy ją przez podstawę systemu binarnego – a więc liczbę 2. Za każdym razem zapisujemy resztę z dzielenia. Operację powtarzamy aż dojdziemy do zera. Wynik należy odczytać od tył.
Kod programu w C++ (dwójkowy na dziesiętny)
Konwersję liczby dwójkowej na dziesiętną najlepiej przeprowadzić za pomocą funkcji strtol z biblioteki cstdlib. Przykładowy program:
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
int bin2dec (string binarna)
{
int dziesietna = strtol(binarna.c_str(), NULL, 2);
return dziesietna;
}
int main()
{
string liczba;
cout << "Podaj liczbe binarna:" << endl;
cin >> liczba;
cout << bin2dec(liczba) << endl;
system ("pause >nul");
return 0;
}
Kod programu w C++ (dziesiętny na dwójkowy)
Konwersję liczby dziesiętnej na dwójkową najlepiej przeprowadzić za pomocą funkcji itoa z biblioteki cstdlib. Przykładowy program:
#include <iostream>
#include <cstdlib>
#include <string>
using namespace std;
string dec2bin (int dziesietna)
{
char binarna[255];
itoa(dziesietna, binarna, 2);
return (string)binarna;
}
int main()
{
int liczba;
cout << "Podaj liczbe dziesietna:" << endl;
cin >> liczba;
cout << dec2bin(liczba) << endl;
system ("pause >nul");
return 0;
}