İkili Kodlanmış Onluk Sayılar / Binary Coded Decimal (BCD)

İkili kodlanmış onluk sayılar veya BCD, onluk sayıları ikili eşdeğerlerine dönüştürmek için başka bir işlemdir.

Öğreticilerin bu ikili sayılar bölümünde gördüğümüz gibi, dijital ve elektronik devrelerde kullanılan ve her birinin kendine özgü kullanımı olan birçok farklı ikili kod vardır.

Doğal olarak ondalık (taban-10) dünyada yaşadığımız için, bu ondalık sayıları bilgisayarların ve dijital elektronik cihazların anlayabileceği bir ikili (taban-2) ortama dönüştürmenin bir yoluna ihtiyacımız var ve ikili kodlu ondalık kod bunu yapmamıza izin veriyor.

Daha önce bir n-bit ikili kodun, 1’ler ve 0’ların 2 n‘ye kadar farklı kombinasyonunu varsayan bir “n” bit grubu olduğunu görmüştük . Binary Coded Decimal sisteminin avantajı, her ondalık basamağın, Hexadecimal ile aynı şekilde 4 ikili basamak veya bit grubuyla temsil edilmesidir. Yani 10 ondalık basamak (0’dan 9’a) için 4 bitlik bir ikili koda ihtiyacımız var.

Ancak kafanız karışmasın, ikili kodlanmış ondalık sayı ile on altılık sayı aynı değildir. 4 bitlik bir onaltılık sayı, ikili 11112‘yi (ondalık 15) temsil eden F16′ya kadar geçerliyken , ikili kodlanmış ondalık sayılar 9 ikili 10012‘de durur. Bu, 16 sayının ( 2 4 ) dört ikili basamak kullanılarak temsil edilebilmesine rağmen , BCD numaralandırma sisteminde altı ikili kod kombinasyonunun: 1010 (ondalık 10), 1011 (ondalık 11), 1100 (ondalık 12), 1101 ( ondalık 13), 1110 (ondalık 14) ve 1111 (ondalık 15) yasaklı sayılar olarak sınıflandırılır ve kullanılamaz.

İkili kodlanmış ondalık sayının ana avantajı, ondalık (taban-10) ve ikili (taban-2) form arasında kolay dönüşüme izin vermesidir. Ancak dezavantajı, 1010 (ondalık 10) ve 1111 (ondalık 15) arasındaki durumlar kullanılmadığından BCD kodunun israf olmasıdır . Bununla birlikte, ikili kodlu ondalık, özellikle dijital göstergeler kullanılarak birçok önemli uygulamaya sahiptir.

BCD numaralandırma sisteminde, bir ondalık sayı, sayı içindeki her ondalık basamak için dört bite ayrılır. Her ondalık basamak, sayının doğrudan çevirisini gerçekleştiren ağırlıklı ikili değeriyle temsil edilir.

Örneğin,  ondalık olarak 35710 , ikili kodlanmış ondalık olarak şu şekilde sunulur:

35710  = 0011 0101 0111  (BCD)

O zaman, BCD’nin ağırlıklı kodlama kullandığını görebiliriz, çünkü her 4 bitlik grubun ikili biti, nihai değerin belirli bir ağırlığını temsil eder. Başka bir deyişle, BCD ağırlıklı bir koddur ve ikili kodlu ondalık kodda kullanılan ağırlıklar 8 , 4 , 2 , 1’dir ve ilgili ondalık basamağın 4 bitlik ikili gösterimini oluşturduğu için yaygın olarak 8421 kodu olarak adlandırılır.

İkili Üst:3210
İkili Ağırlık:8421

Sola doğru her ondalık basamağın ondalık ağırlığı 10 kat artar. BCD sayı sisteminde, gösterildiği gibi her basamağın ikili ağırlığı 2 kat artar   . Ardından ilk hane   1 (  2 0  ), ikinci hane 2 (  2 1  ), üçüncü   hane 4 (  2 2  ), dördüncü hane   8 (  2 3  ) ağırlığa sahiptir   .

Ondalık sayılar ile ağırlıklı ikili kodlu ondalık basamaklar arasındaki ilişki aşağıda verilmiştir.

Ondalık sayıBCD 8421 Kodu
00000 0000
10000 0001
20000 0010
30000 0011
40000 0100
50000 0101
60000 0110
70000 0111
80000 1000
90000 1001
10 (1+0)0001 0000
11 (1+1)0001 0001
12 (1+2)0001 0010
20 (2+0)0010 0000
21 (2+1)0010 0001
22 (2+2)0010 0010

Ardından, 8421 BCD kodunun, her bir ondalık sayının dört bitlik saf ikili eşdeğeri olarak ifade edildiği, her bir ikili basamağın ağırlığından başka bir şey olmadığını görebiliriz .

İkiliden BCD Dönüşüm

Yukarıda gördüğümüz gibi, ondalık sayının ikili kodlu ondalık sayıya dönüştürülmesi, onaltılık sayının ikili sayıya dönüştürülmesine çok benzer. İlk olarak, ondalık sayıyı ağırlıklı basamaklarına ayırın ve ardından gösterildiği gibi her bir ondalık basamağı temsil eden eşdeğer 4-bit 8421 BCD kodunu yazın.

İkili Kodlanmış Onluk Sayılar Soru Örneği 1

Yukarıdaki tabloyu kullanarak, aşağıdaki ondalık sayıları 85 10 , 572 10 ve 8579 10 8421 BCD eşdeğerlerine dönüştürün.

85 10  = 1000 0101  (BCD)

572 10  = 0101 0111 0010  (BCD)

8579 10  = 1000 0101 0111 1001  (BCD)

Dönüştürmeden sonra elde edilen ikili sayının, ondalık basamakların gerçek bir ikili çevirisi olacağını unutmayın. Bunun nedeni, ikili kodun gerçek bir ikili sayı olarak çevrilmesidir.

BCD’den Ondalık Dönüşüm

İkili kodlanmış ondalık sayıdan ondalık sayıya dönüşüm, yukarıdakilerin tam tersidir. İkili sayıyı, en az anlamlı basamaktan başlayarak dört basamaklı gruplara ayırın ve ardından her 4 bitlik grup tarafından temsil edilen ondalık basamağı yazın. Tam bir 4 bitlik gruplama oluşturmak için gerekirse sonuna ek sıfırlar ekleyin. Yani, örneğin, 110.101 2 şu şekilde olur: 0011 0101 2 veya 35 10.

İkili Kodlanmış Onluk Sayılar Soru Örneği 2

Aşağıdaki ikili sayıları, onluk eşdeğerlerine dönüştürün: 1001 2 , 1010 2 , 1000111 2 ve 10100111000.101 2

1001 2  = 1001 BCD  = 9 10

1010 2  =  bu, ondalık sayı 10 10 olduğundan ve geçerli bir BCD numarası olmadığından bir hata üretecektir.

1000111 2  = 0100 0111 , BCD  = 47 10

10100111000.101 2  = 0101 0011 0001.1010 BCD  = 538.625 10

BCD’nin ondalık sayıya veya ondalık sayının BCD’ye dönüştürülmesi nispeten basit bir iştir, ancak BCD sayılarının bitler kullanılarak temsil edilseler bile ikili sayılar değil, ondalık sayılar olduğunu hatırlamamız gerekir. Ondalık sayının BCD gösterimini anlamak önemlidir, çünkü çoğu insan tarafından kullanılan mikroişlemci tabanlı sistemlerin ondalık sistemde olması gerekir.

Bununla birlikte, BCD’nin kodlanması ve kodunun çözülmesi kolay olsa da, sayıları depolamak için etkili bir yol değildir. Ondalık sayıların standart 8421 BCD kodlamasında, belirli bir ondalık sayıyı temsil etmek için gereken bireysel veri bitlerinin sayısı, her zaman eşdeğer bir ikili kodlama için gereken bit sayısından daha büyük olacaktır.

Örneğin, ikili sistemde 0’dan 999’a kadar üç basamaklı bir ondalık sayı yalnızca 10 bit ( 1111100111 2 ) gerektirirken, ikili kodlu ondalık sistemde aynı sayı için minimum 12 bit ( 0011 1110 0111 BCD ) gerekir.

Ayrıca, ikili kodlanmış ondalık sayıları kullanarak aritmetik görevleri gerçekleştirmek, her basamak 9’u geçemeyeceğinden biraz garip olabilir.

Eklenen taşıma biti ile ikili toplam 9’a (1001) eşit veya daha küçükse, karşılık gelen BCD basamağı doğrudur. Ancak ikili toplam 9’dan büyük olduğunda sonuç geçersiz bir BCD basamağı olur. Bu nedenle, BCD sayılarını salt ikiliye dönüştürmek, gerekli eklemeyi yapmak ve ardından sonuçları görüntülemeden önce BCD’yi geri dönüştürmek daha iyidir.

Bununla birlikte, hem mikro elektronik hem de bilgisayar sistemlerinde bir BCD kodlama sisteminin kullanılması, ikili kodlu ondalık sayının bir veya daha fazla 7-segment LED veya LCD ekranda gösterilmesinin amaçlandığı durumlarda özellikle yararlıdır ve mevcut birçok popüler entegre devre vardır. bir BCD çıktısı veya çıktısı verecek şekilde yapılandırılmıştır.

Yaygın bir entegre, BCD çıkışlı bir 10’a bölme sayacı üretmek için birlikte kullanılabilen bağımsız 2’ye bölme ve 5’e bölme sayaçlarını içeren 74LS90 asenkron sayaç/bölücüdür. Bir diğeri, temel 74LS90’ın çift versiyonu olan ve ayrıca bir BCD çıkışı üretecek şekilde yapılandırılabilen 74LS390’dır.

Ancak en yaygın olarak kullanılan BCD kodlu entegre’ler, 74LS47 ve 74LS48 BCD’den 7-segmente kod çözücü/sürücüdür; Bir sayacın 4 bitlik bir BCD kodunu. dönüştürür ve bireysel segmentleri sürmek için bunu gerekli görüntü koduna dönüştürür örnerğin 7 segmentli LED ekran. Her iki entegre de işlevsel olarak aynı olsa da, 74LS47 ortak anot ekranları sürmek için aktif-düşük çıkışlara sahipken 74LS48, ortak katot ekranlarını sürmek için aktif-yüksek çıkışlara sahiptir.

ikili kodlanmış onluk sayılar
BCD 7 Segment Kod Çözücü

Özetle

İkili kodlanmış ondalık veya BCD’nin , her ondalık basamağın tamsayı ve kesirli kısımlarda ikili eşdeğeri ile değiştirildiği bir ondalık basamağın 4 bitlik ikili kod temsili olduğunu gördük . BCD Kodu, 0 ila 9 arasındaki 10 ondalık basamağı temsil etmek için dört bit kullanır.

Örneğin, 0’dan 9’a (bir basamak) aralığında ondalık sayıları görüntülemek istiyorsak, 4 veri bitine (bir kemirme), 0’dan 99’a kadar ondalık sayılara (iki basamak) 8 bit (bir bayt), 0-999 aralığında ondalık sayılar (üç basamak), 12 bit vb. gerekir. İki BCD basamağını saklamak veya görüntülemek için tek bir baytın (8 bit) kullanılması, bir baytın 00 – 99 aralığında bir BCD numarasını tutmasına izin verir, paketlenmiş BCD olarak bilinir .

Standart ikili kodlu ondalık kod, yaygın olarak ağırlıklı 8421 BCD kodu olarak bilinir; 8, 4, 2 ve 1, en anlamlı bitten (MSB) başlayıp en az anlamlı bite (LSB) doğru ilerleyen farklı bitlerin ağırlıklarını temsil eder. Bir BCD kodunun bitlerinin bireysel konumlarının ağırlıkları şunlardır: 2 3 = 8 , 2 2 = 4 , 2 1 = 2 , 2 0 = 1 .

İkili Kodlanmış Ondalık sistemin temel avantajı , ondalık sayıları ikili sayılara dönüştürmek için saf ikili sisteme kıyasla hızlı ve verimli bir sistem olmasıdır. Ancak, 4 bitlik durumların çoğu (10’dan 16’ya) kullanılmadığından ancak ondalık gösterimlerin önemli uygulamaları olduğundan BCD kodu kullanılması gereksizdir.