import sys
n_input = sys.stdin.readline
X = int(n_input().strip())
count = 0
while X > 0: # x가 0보다 큰 동안 반복
if X & 1:
# X & 1은 이진수 표현에서 가장 오른쪽 비트와 1을 AND 연산한 결과를 반환합니다.
# 맨 오른쪽 비트가 1이라는 것은 십진수로 1이라는것을 의미합니다.
count += 1
X >>= 1
# X >>= 1을 한 번 수행하면 X의 이진수 표현을 오른쪽으로 한 비트씩 이동시킵니다.
# ex) 10101 ->1010 -> 101 -> 10 -> 1
# X >>= 1은 X 값을 2로 나눈 결과와 같습니다
print(count)
'코딩 연습 > 백준 코드' 카테고리의 다른 글
미아 노트-20114.py (0) | 2023.10.15 |
---|---|
멘토와 멘티-26265.py (0) | 2023.10.15 |
동전0-11047.py (0) | 2023.10.15 |
덩치-7568.py (0) | 2023.10.15 |
단어 정렬-1181.py (0) | 2023.10.15 |