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

+ Recent posts