Ağırlıklı ve Ağırlıksız Kodlama Nedir?

Soyut ikili kod arka planı

Ağırlıklı kodlama, ikili dönüşümlere yardımcı olur.

Resim Kredisi: leszekglasner/iStock/Getty Images

Bilgisayarların ve diğer elektronik cihazların içinde gördüğünüz dijital devreler yalnızca iki kavram aracılığıyla iletişim kurabilir: açık ve kapalı. Bu kavramlar bize, 0'ın kapalı ve 1'in açık olduğu ikili numaralandırma biçiminde temsil edilir. Bir bilgisayarla gerçekten iletişim kurmak için, bilgisayar dilini daha insani bir formata getirmek için daha fazla dönüşüm gereklidir. Dönüştürme sürecindeki ilk adım, ikili kodlamayı daha okunabilir bir ondalık sisteme dönüştürmektir. Ağırlıklı ve ağırlıklı olmayan kodlama, ikili sayıların ondalık sayıya dönüştürüldüğü yöntemi ifade eder. Ağırlıklı kodlamada, bir sayıdaki her basamağa dönüştürmeden önce ağırlıklı bir değer atanır. Ağırlıksız kodlama yöntemleri, biraz değişken formüller kullanır ancak dönüşümleri ağırlık değeri olmadan gerçekleştirir.

Ağırlıklı kodlamayı anlamadan önce, numaralandırma sistemlerini ve konumsal gösterimi anlamalısınız.

Günün Videosu

Numaralandırma Sistemleri

Numaralandırma sistemleri, başka bir rakam eklemeden önce sayabileceğiniz en yüksek sayı olan bir taban ile gösterilir. Örneğin, çocukken hepimizin öğrendiği numaralandırma sistemine 10 tabanı denir, çünkü 0'dan 9'a kadar olan dizideki ilk on sayı tek basamaklar kullanılarak sayılabilir. 10'a ulaştığınızda, her şeyi kaydırmanız ve 100'e ulaşana kadar iki basamaklı sayılarla saymanız ve ardından üç basamaklı sayılarla saymanız gerekir. Bu 10 tabanlı sisteme ondalık sistem de denir.

konumsal gösterim

Konum gösterimi, gerçek bir sayıdaki her bir basamağa sağdan sola bir konum değeri atadığınızda oluşur. Örneğin 4782 sayısı için 2'den başlayıp sağdan sola doğru sayarak konumlar aşağıdaki gibi 0, 1, 2, 3'tür:

4782 = sayı 3210 = konumsal değerler

Ağırlıklı Kodlama

Yukarıdaki örnekte, 0'dan 3'e kadar olan konum atamaları, atanan basamakların ağırlıklı değerleri olabilir. Yani 4'ün ağırlığı 3 ve 7'nin ağırlığı 2'dir. Bir sayının ağırlığı, herhangi bir temel numaralandırma sisteminden ondalık (taban 10) numaralandırma sistemine dönüştürülürken devreye girer. Ağırlıklı bir sayıyı dönüştürmek için bir formül, her basamağı kendi tabanıyla konumunun gücüne çarpmak ve ardından elde edilen tüm basamakları toplamaktır. Aşağıdaki örnekte, ikili tabanlı 2 sayı olan 100101, ondalık (taban 10) sayıya dönüştürülmüştür.

100101 = İkili (taban 2) sayı 543210 = konumsal ağırlıklar (1 x 2^5) + (0 x 2^4) + (0 x 2^3) + (1 x 2^2) + (0 x 2^1 ) + (1 x 2^0) = 32 + 0 + 0 + 4 + 0 + 1 = 37 37base10 = ondalık dönüştürme

Diğer ağırlıklı yöntemler, her biri ağırlıkları atamak ve ondalık sayıya dönüştürmek için benzer bir formül kullanan BCD ve 2421'i içerir.

Ağırlıksız Kodlama

Gri kod, bir ondalık sayıdan diğerine geçerken ikili sayıdaki yalnızca bir biti değiştiren, ağırlıklı olmayan bir kodlama yöntemidir. Normal ikili kodlamada, 10 rakamları ondalık sayı 2'yi temsil eder. Gri kod kullanılırken, bu ikili sayının bir biti değişir, böylece ondalık sayı 2, ikili basamak 0011 ile temsil edilir. Sırayla, normalde 0011 ikili basamakları ile temsil edilecek olan 3 ondalık sayısı şimdi 0010'a dönüştürülür, çünkü yalnızca bir bit değişebilir.

Excess-3, ağırlıklı olmayan başka bir kodlama yöntemidir ve bir zamanlar eski bilgisayarlarda ve toplama makinelerinde kullanılmıştır. Fazla-3 ile, ikili sayıya dönüştürmeden önce ondalık sayıya 3 eklersiniz. Bu nedenle, örneğin 2 ondalık sayısı önce 3 artacak ve 5 yapacaktır. Excess-3 yöntemini kullanarak 2'nin ikili dönüşümü, normal ikili değeri 0010 yerine 0101 olacaktır.