Bir sayının binary'si nasıl hesaplanır?

Herhangi bir sayının binary’si nasıl hesaplanır? Mesela 10. Nasıl hesaplayabilirim? Formül nedir?

Soru için sordum.

desimalden binary’e dönüştürürken desimalde verilen sayıyı 2 ye sürekli bölerek 2 den küçük bir bölüm sayısı bulana kadar(yani 1 bulana kadar) devam ediyoruz ardından tersten bölümde olmak üzere en başa kadar yani en başta ikiye böldüğümüz sayının kalan kısmına kadar yazıyoruz.
Şöyle paintle anlatmak gerekirse:

1
Resimde de göründüğü üzere kırmızı yuvarlak içine aldığımız sayıları sağdan sola doğru yazıyoruz. çıkan ifade de 1010 oluyor.

SAYI 2 YE BÖLÜNMEZSE TAM KISMINI AL 5/2 = 2,5 DEĞİL DE 2 Yİ ALIYORSUNUZ.

Tam tersi içinde


En sağdan sola doğru tabanı iki olmak üzere (çünkü binary) üssünü bir artırarak belirtiyoruz. ardından verilen işlemi aynen uyguluyoruz.

3 Beğeni

Formül belirtilmiş fakat ek bilgi vermek istedim, bir sayıyı binary formatında elde etmek için kısaca bin() methodu kullanılabilir.

def topla(a, b):
    return bin(a+b)[2:]

print(topla(1, 1))  # 10
print(topla(5, 9))  # 1110
6 Beğeni