koduj | dekoduj | dziesiętnie

> bcd | dziesiętnie | binarnie <

// BCD - dwójkowo kodowana dziesiętnie do precyzyjnej arytmetyki dziesiętnej

0 znaków
0 znaków
[DECIMAL]

Dokładność dziesiętna

Zachowuje dokładność dziesiętną i unika błędów zaokrągleń wynikających z reprezentacji binarnej.

[4-BIT]

Kodowanie nibble

Każda cyfra dziesiętna jest kodowana dokładnie w 4 bitach (jednym nibble).

[VARIANTS]

Wiele formatów

Obsługuje formaty BCD: 8421, 2421, 5421, Excess-3 i Gray BCD.

>> informacje techniczne

Jak działa BCD:

BCD koduje każdą cyfrę dziesiętną (0–9) w 4 bity binarne. Różne formaty BCD używają różnych wag bitów: 8421 (standardowy), 2421 (samouzupełniający), 5421 (bi‑kwinarny), Excess‑3 (dodaje 3 do każdej cyfry) oraz Gray BCD (minimalizuje zmiany bitów). Upakowany BCD przechowuje dwie cyfry w jednym bajcie, zwiększając efektywność.

Przykład formatów BCD:

Dziesiętnie: 9 5 3

8421 BCD:   1001 0101 0011
2421 BCD:   1111 1011 0011
5421 BCD:   1100 1000 0011
Excess-3:   1100 1000 0110
Gray BCD:   1101 0111 0010

Upakowany:  10010101 00110000
            (95)     (30)

Dlaczego używać BCD:

  • >Obliczenia finansowe wymagające dokładnej reprezentacji dziesiętnej
  • >Wyświetlacze cyfrowe i dekodery siedmiosegmentowe
  • >Układy zegara czasu rzeczywistego
  • >Kalkulatory i układy obliczeniowe
  • >Sterowniki PLC i systemy sterowania przemysłowego

>> najczęściej zadawane pytania

Czym jest BCD?

BCD (Binary-Coded Decimal) to binarne kodowanie liczb dziesiętnych, w którym każda cyfra dziesiętna reprezentowana jest przez swój 4‑bitowy odpowiednik binarny. Stosuje się je tam, gdzie kluczowa jest dokładność dziesiętna.

Dlaczego używać BCD zamiast czystego zapisu binarnego?

BCD pomaga unikać błędów zaokrągleń w obliczeniach dziesiętnych i ułatwia bezpośrednie wyświetlanie wyników w postaci dziesiętnej. Jest idealny do zastosowań finansowych wymagających bardzo dokładnych wyników.

Czym jest upakowany BCD?

Upakowany BCD przechowuje dwie cyfry dziesiętne w jednym bajcie (8 bitach), gdzie każdy nibble reprezentuje jedną cyfrę. Jest to bardziej oszczędne niż nieupakowany BCD, który używa całego bajtu na każdą cyfrę.

Jakie formaty BCD istnieją?

Do najpopularniejszych formatów BCD należą: 8421 (standardowo ważony), 2421 (samouzupełniający), 5421 (bi‑kwinarny), Excess‑3 (każda cyfra +3) oraz Gray BCD (minimalizuje zmiany bitów między kolejnymi wartościami).

// Krótka ściąga

Dec84212421Excess-3
0000000000011
1000100010100
2001000100101
3001100110110
4010001000111
5010110111000
6011011001001
7011111011010
8100011101011
9100111111100

// Przykłady kodu

Decimal 25   BCD   0010 0101     (packed: 0x25)
             Binary 0001 1001     (0x19)
Decimal 1234 BCD   0001 0010 0011 0100  (2 bytes, packed)
Overhead     4 bits per digit vs log2(10) = 3.32 bits -> ~20% larger
Add          0x19 + 0x28 = 0x41 -> +6 correction per nibble > 9 -> 0x47

>> Więcej pytań

P: Czym jest BCD i czym różni się od binarnego?

O: W BCD każda cyfra dziesiętna jest kodowana osobno na 4 bitach. 25 to 0010 0101, a czysty binarny to 11001. Wartości dziesiętne pozostają dokładne i łatwe do wyświetlenia.

P: Czym jest spakowany i niespakowany BCD?

O: Spakowany BCD przechowuje dwie cyfry w bajcie (0x25 = 25). Niespakowany używa bajtu na cyfrę; górny półbajt to 0 lub oznaczenie strefy jak w EBCDIC.

P: Dlaczego BCD wciąż się stosuje?

O: Do dokładnej arytmetyki dziesiętnej bez błędów zaokrągleń: systemy finansowe, kalkulatory, zegary czasu rzeczywistego, wyświetlacze 7-segmentowe. Koszt: 4 bity na cyfrę zamiast 3,32, czyli ok. 20% więcej miejsca.

Inne języki