1759: [문제10] 비트주세요1
메모리제한:128 MB
시간제한:1.000 S
Judge Style:Text Compare
만든사람:
제출:14
통과:5
문제 설명
이진수로 변환된 숫자들을 가지고 컴퓨터는 가장 기본적으로 비트끼리 사칙연산을 하거나 각 자리의 비트가 같은지 비교하는 등의 과정을 거친다.
(컴퓨터의 시초라고 부를 수 있는 ‘가산기’는 비트끼리 더하는 기능을 수행한다.)
이 중 각 자리의 비트가 서로 같은지 다른지 등을 확인하기 위한 AND 연산, OR 연산, XOR 연산을
“비트 연산자”라고 부른다.
두 개의 이진수를 입력받았을 때, 첫째 자리끼리 비트(bit)의 상태가 같은지 비교할 수 있지 않을까?
주어진 a가 b와 같은 수가 되기 위하여 바꾸어야 할 비트의 수를 출력하는 프로그램을 작성해보자.
입력 설명
첫 줄에 정수 a, b가 공백을 기준으로 주어진다.
1 ≤ a, b ≤ 100,000
출력 설명
바꾸어야 하는 최소 비트의 수를 출력한다.
입력 예시 Copy
5 16
출력 예시 Copy
3
도움
십진수 5는 101
십진수 16은 1000 이다.
따라서 3개의 비트를 바꾸어야 두 숫자가 같아진다.
ps. AND, OR, XOR 연산 중에 힌트가 있지 않을까?