W tym artykule zbadamy wpływ, jaki Kod BCD wywarł na różne obszary społeczeństwa. Niezależnie od tego, czy na poziomie osobistym, zawodowym czy społecznym, Kod BCD pozostawił znaczący ślad w naszym sposobie życia i relacjach. Od momentu powstania do chwili obecnej Kod BCD był przedmiotem debaty i refleksji, wywołując zarówno podziw, jak i kontrowersje. Dzięki tej analizie będziemy starali się głębiej zrozumieć rolę, jaką odgrywa Kod BCD w naszym życiu i jak wpłynął na sposób, w jaki myślimy, działamy i czujemy.
Kod BCD (ang. binary-coded decimal, czyli zapis dziesiętny kodowany dwójkowo[1] lub kod dwójkowo-dziesiętny[2]) – sposób zapisu liczby polegający na zakodowaniu kolejnych cyfr dziesiętnych tej liczby w systemie dwójkowym, przy użyciu tylko czterech młodszych bitów (zob. półbajt)[2]. Stosowany jest on głównie w elektronice i informatyce. Taki zapis pozwala na łatwą konwersję liczby do i z systemu dziesiętnego, jednak jego niedogodnością jest istniejąca nadmiarowość (wykorzystuje tylko 10 czterobitowych kombinacji z 16 możliwych).
Kod BCD jest obecnie stosowany głównie w urządzeniach elektronicznych z wyświetlaczem cyfrowym (np. w kalkulatorach, miernikach cyfrowych) i w zastosowaniach finansowych informatyki (ujednoznacznia zapis części ułamkowych kwot i ułatwia dziesiętne zaokrąglanie).
We współczesnych komputerach używane są dwa sposoby zapisu liczb w kodzie BCD na ośmiobitowych bajtach (zob. oktet):
Wiele mikroprocesorów (w tym wszystkie wywodzące się od Intel 8080[3]) posiada rozkazy i tak zwane flagi umożliwiające dodawanie i odejmowanie liczb BCD w wersji spakowanej[2].
Z zależności od zastosowania, poszczególne cyfry mogą być kodowane w inny niż dwójkowo sposób, stąd rozróżnia się wiele wariantów BCD (dla uściślenia wersja podstawowa zwana jest też BCD 8421 lub NBCD):
| BCD Excess-3 BCD BCD IBM 1401 | Wagi: 8421 2421 84-2-1 8421 ------------------------------------------------- 0 | 0000 0011 0000 0000 1010 1 | 0001 0100 0001 0111 0001 2 | 0010 0101 0010 0110 0010 3 | 0011 0110 0011 0101 0011 4 | 0100 0111 0100 0100 0100 5 | 0101 1000 1011 1011 0101 6 | 0110 1001 1100 1010 0110 7 | 0111 1010 1101 1001 0111 8 | 1000 1011 1110 1000 1000 9 | 1001 1100 1111 1111 1001
Przykładowo, liczba 127 w podstawowym wariancie BCD wygląda następująco:
0001 0010 0111