> bcd | ondalık | ikili <

// BCD - hassas ondalık aritmetik için ikili kodlanmış ondalık

0 karakter
0 karakter
[DECIMAL]

Ondalık hassasiyet

İkili gösterimden kaynaklanan yuvarlama hatalarından kaçınarak ondalık hassasiyeti korur.

[4-BIT]

Nibble kodlama

Her ondalık basamak tam olarak 4 bit (bir nibble) ile kodlanır.

[VARIANTS]

Birden çok biçim

8421, 2421, 5421, Excess-3 ve Gray BCD kodlama biçimlerini destekler.

>> teknik bilgiler

BCD nasıl çalışır?:

BCD, her ondalık basamağı (0–9) 4 bitlik ikili verilere kodlar. Farklı BCD biçimleri farklı bit ağırlıkları kullanır: 8421 (standart), 2421 (öz-tamamlayıcı), 5421 (çift beşli), Excess-3 (her basamağa 3 ekler) ve Gray BCD (bit geçişlerini en aza indirir). Paketlenmiş BCD, verimliliği artırmak için bayt başına iki basamak saklar.

BCD biçimi örneği:

Ondalık: 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

Paketlenmiş: 10010101 00110000
            (95)     (30)

Neden BCD kullanmalı?:

  • >Tam ondalık gösterim gerektiren finansal hesaplamalar
  • >Dijital göstergeler ve yedi segmentli kod çözücüler
  • >Gerçek zamanlı saat devreleri
  • >Hesap makineleri ve hesaplama çipleri
  • >PLC'ler ve endüstriyel kontrol sistemleri

>> sık sorulan sorular

BCD nedir?

BCD (Binary-Coded Decimal), her ondalık basamağın 4 bitlik ikili karşılığı ile temsil edildiği bir kodlama şemasıdır. Ondalık hassasiyetin kritik olduğu durumlarda kullanılır.

Neden düz ikili yerine BCD kullanılır?

BCD, ondalık hesaplamalarda yuvarlama hatalarını azaltmaya yardımcı olur ve değerleri doğrudan ondalık olarak göstergelere aktarmayı kolaylaştırır. Kesin ondalık sonuçların gerektiği finansal uygulamalar için idealdir.

Paketlenmiş BCD nedir?

Paketlenmiş BCD'de iki ondalık basamak tek bir bayt (8 bit) içinde saklanır; her nibble bir basamağı temsil eder. Her basamak için tam bir bayt kullanan paketlenmemiş BCD'ye göre daha alan verimlidir.

Hangi BCD biçimleri vardır?

Yaygın BCD biçimleri: 8421 (standart ağırlıklı), 2421 (öz-tamamlayıcı), 5421 (çift beşli), Excess-3 (her basamak +3) ve Gray BCD (ardışık değerler arasındaki bit değişimlerini en aza indirir).

// Hızlı başvuru

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

// Kod örnekleri

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

>> Daha fazla soru

S: BCD nedir ve ikiliden farkı nedir?

C: BCD’de her ondalık rakam ayrı ayrı 4 bitle kodlanır. 25, 0010 0101 olur; saf ikili ise 11001 verir. Ondalık değerler kesin kalır ve göstermesi kolaydır.

S: Paketli ve paketsiz BCD nedir?

C: Paketli BCD bir baytta iki rakam saklar (0x25 = 25). Paketsiz BCD rakam başına bir bayt kullanır; üst yarım bayt 0 veya EBCDIC’deki gibi bir bölge işaretidir.

S: BCD neden hâlâ kullanılıyor?

C: Yuvarlama hatası olmayan kesin ondalık aritmetik için: finans sistemleri, hesap makineleri, gerçek zamanlı saatler, 7 segmentli göstergeler. Bedeli rakam başına 3,32 yerine 4 bit, yani yaklaşık %20 fazla yer.

Diğer diller