Set bits คือบิตที่แทนค่า 1 ในรูปแบบไบนารีของตัวเลข ในบทความนี้ เราจะดูวิธีนับจำนวน set bits ในตัวเลขทศนิยมที่กำหนด
# 53 ในไบนารีคือ: 110101 # จำนวน set bits คือจำนวน 1 ซึ่งก็คือ 4
ในโปรแกรมด้านล่าง เรารับตัวเลขและแปลงเป็นไบนารี เนื่องจากการแปลงไบนารีมี 0b เป็นตัวอักษรสองตัวแรก เราจึงลบออกโดยใช้เทคนิคแบ่งสตริง (string splitting) จากนั้นใช้ for loop นับบิตแต่ละบิตของตัวเลขไบนารี หากค่าของหลักนั้นเป็น 1
ตัวอย่าง
value = 59
# ตรวจสอบค่าไบนารี
print(bin(value))
# ลบตัวอักษรสองตัวแรก
bitvalue = bin(value)[2:]
print(bitvalue)
count = 0
for digit in bitvalue:
if digit == '1':
count = count + 1
print("Length of set bits: ", count)
ผลลัพธ์
การรันโค้ดข้างต้นจะได้ผลลัพธ์ดังนี้:
0b111011 111011 Length of set bits: 5