import math
# unsigned int jika positif
# sign int jika negatif
def hitungNomorBit(angka: int, nomorBit: int):
bit = ""
result = 0
power = 64
if (angka != 0):
if (angka > 0):
while angka < int(math.pow(2, power)):
power -= 1
else:
while angka > -int(math.pow(2, power)):
power -= 1
angka += int(math.pow(2, power+1))
bit += "1"
while power >= 0:
if (angka - int(math.pow(2, power)) >= 0):
bit += "1"
angka -= int(math.pow(2, power))
else:
bit += "0"
power -= 1
for dec in bit:
if (dec == str(nomorBit)):
result += 1
elif (angka == 0 and nomorBit == 0):
bit += "0"
result = 1
if (result > 0):
return result
else:
return "null"
if __name__ == "__main__":
print(hitungNomorBit(13, 0))
print(hitungNomorBit(13, 1))
print(hitungNomorBit(13, 2))
aW1wb3J0IG1hdGgKCiMgdW5zaWduZWQgaW50IGppa2EgcG9zaXRpZgojIHNpZ24gaW50IGppa2EgbmVnYXRpZgpkZWYgaGl0dW5nTm9tb3JCaXQoYW5na2E6IGludCwgbm9tb3JCaXQ6IGludCk6CiAgICBiaXQgPSAiIgogICAgcmVzdWx0ID0gMAogICAgcG93ZXIgPSA2NAogICAgaWYgKGFuZ2thICE9IDApOgogICAgICAgIGlmIChhbmdrYSA+IDApOgogICAgICAgICAgICB3aGlsZSBhbmdrYSA8IGludChtYXRoLnBvdygyLCBwb3dlcikpOgogICAgICAgICAgICAgICAgcG93ZXIgLT0gMQogICAgICAgIGVsc2U6CiAgICAgICAgICAgIHdoaWxlIGFuZ2thID4gLWludChtYXRoLnBvdygyLCBwb3dlcikpOgogICAgICAgICAgICAgICAgcG93ZXIgLT0gMQogICAgICAgICAgICBhbmdrYSArPSBpbnQobWF0aC5wb3coMiwgcG93ZXIrMSkpCiAgICAgICAgICAgIGJpdCArPSAiMSIKICAgICAgICB3aGlsZSBwb3dlciA+PSAwOgogICAgICAgICAgICBpZiAoYW5na2EgLSBpbnQobWF0aC5wb3coMiwgcG93ZXIpKSA+PSAwKToKICAgICAgICAgICAgICAgIGJpdCArPSAiMSIKICAgICAgICAgICAgICAgIGFuZ2thIC09IGludChtYXRoLnBvdygyLCBwb3dlcikpCiAgICAgICAgICAgIGVsc2U6CiAgICAgICAgICAgICAgICBiaXQgKz0gIjAiCiAgICAgICAgICAgIHBvd2VyIC09IDEKICAgICAgICAKICAgICAgICBmb3IgZGVjIGluIGJpdDoKICAgICAgICAgICAgaWYgKGRlYyA9PSBzdHIobm9tb3JCaXQpKToKICAgICAgICAgICAgICAgIHJlc3VsdCArPSAxCiAgICAgICAgICAgICAgICAKICAgIGVsaWYgKGFuZ2thID09IDAgYW5kIG5vbW9yQml0ID09IDApOgogICAgICAgIGJpdCArPSAiMCIKICAgICAgICByZXN1bHQgPSAxCiAgICAgICAgCiAgICBpZiAocmVzdWx0ID4gMCk6CiAgICAgICAgcmV0dXJuIHJlc3VsdAogICAgZWxzZToKICAgICAgICByZXR1cm4gIm51bGwiICAgICAgICAgICAgCiAgICAKICAgIAppZiBfX25hbWVfXyA9PSAiX19tYWluX18iOgogICAgcHJpbnQoaGl0dW5nTm9tb3JCaXQoMTMsIDApKQogICAgcHJpbnQoaGl0dW5nTm9tb3JCaXQoMTMsIDEpKQogICAgcHJpbnQoaGl0dW5nTm9tb3JCaXQoMTMsIDIpKQogICAg