Binary Nedir? Python İle Binary Dönüştürücü

TahaPasha

Yeni üye
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 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)
oMkAul.jpg

4LzvGK.jpg



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
 

3vn2odzn

Uzman üye
17 Ocak 2019
1,182
230
Loxcey Sixs
Güzel konu olmuş. Bir matematik testinde de böyle bir soru vardı (Hangi binary kodu 1551 sayısına eşittir?) ilk önce nasıl hesaplanacaklarını yazmış sonra da parantez içinde belirttiğim soruyu sormuş. İlk defa bir sorudan bu kadar çok şey öğrenmiştim :)
 

TahaPasha

Yeni üye
30 Haz 2018
17
2
Güzel konu olmuş. Bir matematik testinde de böyle bir soru vardı (Hangi binary kodu 1551 sayısına eşittir?) ilk önce nasıl hesaplanacaklarını yazmış sonra da parantez içinde belirttiğim soruyu sormuş. İlk defa bir sorudan bu kadar çok şey öğrenmiştim :)
Teşekkür ederim. Gerçekten çok basit bir konu hatta ben kendimi geliştirmek için Play Store'den bir oyun indirdim. Birçok oyun mevcut, öneririm.
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.