- 30 Haz 2018
- 17
- 2
Öncelikle herkese hayırlı Ramazanlar dilerim. Bugünkü konumuz: Binary Kod. Biraz binary kodlarından bahsedeceğiz ve Python ile bu kodları dönüştürecek bir yazılım yapacağız.
BINARY KOD NEDİR?
Binary (İkili) Sayı sisteminin tabanı 2 dir. Ve bu sistemde sadece 0 ve 1 rakamları kullanılmaktadır. Binary (ikili) Sayı sisteminde bulunan her 0 veya 1 rakamları BIT (Binary Digit) adı ile tanımlanır. Decimal (onlu) sayıları, sadece iki rakamdan oluşan Binary (ikili) sayılarla tanımlayabilmemiz, sayısal sistemlerin iki voltaj seviyesini kullanarak farklı büyüklüklerin tanımlanmasının anlaşılmasını sağlamaktadır.
PEKİ NEDEN 0 VE 1?
Bunu anlatmanın en kısa yolu: 0, yok demektir; 1 ise var demektir. Gelin daha ayrıntılı olarak bir örnek üzerinde inceleyelim.
BINARY KOD NEDİR?
Binary (İkili) Sayı sisteminin tabanı 2 dir. Ve bu sistemde sadece 0 ve 1 rakamları kullanılmaktadır. Binary (ikili) Sayı sisteminde bulunan her 0 veya 1 rakamları BIT (Binary Digit) adı ile tanımlanır. Decimal (onlu) sayıları, sadece iki rakamdan oluşan Binary (ikili) sayılarla tanımlayabilmemiz, sayısal sistemlerin iki voltaj seviyesini kullanarak farklı büyüklüklerin tanımlanmasının anlaşılmasını sağlamaktadır.
PEKİ NEDEN 0 VE 1?
Bunu anlatmanın en kısa yolu: 0, yok demektir; 1 ise var demektir. Gelin daha ayrıntılı olarak bir örnek üzerinde inceleyelim.
Binary Kodumuz "0101" olsun. Peki bu hangi sayıya denk geliyor? Aslında bulması çok basit! Sağdan başlayarak her rakam üzerine 2'nin üslü ifadelerini yazmaya başlıyoruz. Tabiki ilk 2^0 unutmuyoruz.Şimdi çözümüne geçelim:
Sağdan başlayacak olursak; 1-0-1-0 dizilimini elde ederiz. Şimdi 1'den başlayarak 2^0=1 değerini yazalım. Ardından 2^1, 2^2, 2^3 üslü ifadelerini yazalım. Sırasıyla 1,2,4 ve 8 değerlerini elde ettik. Şimdi 0 karakterlerine denk gelen değerleri yani 2^1 ve 2^3 ifadelerini silelim. Elimizde 1 ve 4 değerleri kaldı. Şimdi bunları toplayalım ve 5 sonucunu elde edelim. Yani bu kodumuzun değeri 5'tir. Dikkat edin değerleri yazmaya sağdan başladım. Kısacası öncelikle bulunan karakter kadar 2'nin üslerini 0'dan başlayarak arttırdık ve 0'a denk gelen değerleri sildik. Bunu 16 karakterli sayılar için bilr yapabilirsiniz. Sadece 2'nin üslerini sola gittikçe 1 arttırmak ve toplamak.
Şimdi ise Python'la yapacağımız "Binary" dönüştürücüsünü yapalım. Kodları ve görsel kanıdı aşağıya ekliyorum.
Kod:
# encoding:utf-8
import math
import os
number = int(input("Binary Kodunu Gir: "))
answer=0
i=0
***
while number!=0:
* decimal=number%10
* number=number/10
* if decimal==0 or decimal==1:
*** if decimal==1:
***** answer=answer+pow(2,i)
***** i=i+1
*** else:
***** i=i+1
* else:
*** print("Yanlış. Tekrar Dene.")
*** os._exit(0)
***
print("Karşılığı: ")
print(answer)
EĞER İSTEK GELİRSE DEVAM EDERİM SERİ HALİNE GETİRİRİM. LÜTFEN BİR TEŞEKKÜRÜ FAZLA GÖRMEYELİM. İYİ GÜNLER