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.0188 Voting
Figen
Kıdemli · 11 yıl öğretmeniUzman 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.<br /><br />Ö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.<br /><br />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:<br /><br />```python<br />def ikilikten_onluk(dizi):<br /> toplam = 0<br /> for i in range(len(dizi)):<br /> toplam += dizi[i] * (2 ** i)<br /> return toplam<br /><br /># Örnek kullanım<br />dizi = [1, 0, 1, 0, 0, 1]<br />print(ikilikten_onluk(dizi)) # Çıktı: 41<br />```<br /><br />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.
Derecelendirmek için tıklayın: