만드는 중입니다

아직 만드는 중이라 바뀔 수 있습니다

2의 보수

면접 대비

시간 제한1초메모리 제한512 MB

요약
10^9 이하의 N이 주어질 때, 32비트에서 N과 N의 2의 보수가 서로 다른 비트 수를 센다.
난이도

쉬움10점 중 3점

유형
비트 연산, 수학, 구현
정답자
아직 제출이 없습니다

문제

컴퓨터는 뺄셈을 처리할 때 내부적으로 2의 보수를 사용한다. 어떤 수의 2의 보수는 그 수의 모든 비트를 반전시킨 뒤 1을 더해 만들 수 있다. 32비트 기준으로 처음 표현했던 수와 그 2의 보수의 서로 다른 비트 수를 출력하라.

입력

첫째 줄에 정수 N(1 ≤ N ≤ 10^9)이 주어진다.

출력

첫째 줄에 N과 N의 2의 보수의 서로 다른 비트 수를 출력한다.

힌트

32비트 22의 2의 보수를 살펴보자. 22는 이진수로 0000 0000 0000 0000 0000 0000 0001 0110이다. 이 비트를 반전시키면 1111 1111 1111 1111 1111 1111 1110 1001, 1을 더하면 1111 1111 1111 1111 1111 1111 1110 1010이 된다.

이때 0000 0000 0000 0000 0000 0000 0001 0110과 1111 1111 1111 1111 1111 1111 1110 1010의 서로 다른 비트 수는 30개이다.

예제1

  1. 예제 1

    입력
    2
    
    예상 출력
    30