fork download
  1. def hitungNomorBit (angka, nomorBit):
  2. # validasi input
  3. if angka < 0 or nomorBit < 0:
  4. return None
  5.  
  6. # konversi angka desimal ke biner
  7. biner = []
  8. while angka > 0:
  9. biner.insert(0, angka % 2)
  10. angka = angka // 2
  11.  
  12. # jika nomor bit melebihi panjang biner, kembalikan none
  13. if nomorBit >= len(biner) or biner[nomorBit] == 0:
  14. return None
  15.  
  16. # hitung jumlah keseluruhan bit di posisi nomorBit
  17. jumlah = 0
  18. for i in range(0, nomorBit + 1):
  19. if biner[i] == 1:
  20. jumlah += 2 ** (i)
  21.  
  22. return jumlah
  23.  
  24. print(hitungNomorBit(13, 3))
Success #stdin #stdout 0.02s 7252KB
stdin
Standard input is empty
stdout
11