[알고리즘] 백준 - 24389
[Bronze I] 2의 보수 - 24389
성능 요약
메모리: 12356 KB, 시간: 80 ms
분류
비트마스킹, 수학
제출 일자
2025년 4월 3일 02:05:58
문제 설명
컴퓨터는 뺄셈을 처리할 때 내부적으로 2의 보수를 사용한다. 어떤 수의 2의 보수는 해당하는 숫자의 모든 비트를 반전시킨 뒤, 1을 더해 만들 수 있다. 이때, 32비트 기준으로 처음 표현했던 수와 그 2의 보수의 서로 다른 비트 수를 출력하라.
입력
첫째 줄에 정수 N(1 ≤ N ≤ 109)이 주어진다.
출력
첫째 줄에 N과 N의 보수의 서로 다른 비트 수를 출력한다.
package baekjoon.april2025
fun main() {
val n = readln().toInt()
println(Integer.bitCount(n xor -n))
}