Soru
3- Kullanicinin girdigi ikilik (binary) tabandaki sayinin onluk tabandaki (decimal) karyibigni bulan programi yaziniz (Ikilik tabandaki sayinin bit sayis degisken olup genel bir progn yazilacaktr.) (25p) Ornek: dizi[n]=[1 0 1 0 0 1] onluk tabandaki karsilig=41 dizi[n]=[1 1 1 0 1 1 0 0] onluk tabandaki karsilig_(1)=236
Çözüm
4
(188 Oylar)
Figen
Kıdemli · 11 yıl öğretmeni
Uzman doğrulaması
Cevap
Bu soruda, ikilik tabandaki bir sayının onluk tabandaki karsigini bulmak istiyoruz. İkili tabanda, her bitin 2'nin bir kuvveti olduğunu ifade eden bir sayı sistemidir. Yani, ikilik tabandaki bir sayı, 2'nin kuvvetleri toplamı olan bir sayıdır.Örneğin, ikilik tabandaki sayı [1 0 1 0 0 1] ikilik tabanda 1*(2^5) + 0*(2^4) + 1*(2^3) + 0*(2^2) + 0*(2^1) + 1*(2^0) = 32 + 0 + 8 + 0 + 0 + 1 = 41 onluk tabanda.Programlama dili olarak Python kullanarak bu işlemi gerçekleştirebiliriz. Aşağıda, ikilik tabandaki bir sayının onluk tabandaki karsigini hesaplayan bir Python programı örneği verilmiştir:```pythondef ikilikten_onluk(dizi): toplam = 0 for i in range(len(dizi)): toplam += dizi[i] * (2 ** i) return toplam# Örnek kullanımdizi = [1, 0, 1, 0, 0, 1]print(ikilikten_onluk(dizi)) # Çıktı: 41```Bu program, ikilik tabandaki bir dizinin elemanlarını alarak, her bir elemanın 2'nin bir kuvveti olduğunu hesaplar ve bu değerleri toplayarak onluk tabandaki karsigini bulur. Örneğin, [1 1 1 0 1 1 0 0] ikilik tabandaki sayısının onluk tabandaki karsigini hesaplayacak ve çıktıda 236 olarak bulacaktır.