문제1060--[기초-비트단위 논리 연산] 비트단위로 AND 하여 출력하기(설명)(py)

1060: [기초-비트단위 논리 연산] 비트단위로 AND 하여 출력하기(설명)(py)

[만든사람 : 전현석, 최문성(확인), 이준용(확인), 김지혜(그림) (2020)]
시간제한 : 1.000 sec  메모리제한 : 128 MB

제출

문제 설명

본 문제는 python 의 빠른 기초 학습을 위해 설계된 문제로서 python 코드 제출을 기준으로 설명되어 있습니다. 
------

정수 2개를 입력받아
두 정수를 비트단위로 and 연산한 후, 그 값을 정수로 출력해보자.
비트단위(bitwise) and 연산자 & 를 사용하면 된다. (& : and, ampersand, 앰퍼샌드라고 읽는다.)


예시
print(a&b)


참고 
** 저장되어있는 비트단위로 계산하거나 처리하는 비트단위(bitwise) 연산자는
~(bitwise not), &(bitwise and), |(bitwise or), ^(bitwise xor), <<(bitwise left shift), >>(bitwise right shift) 가 있다.

예를 들어 3과 5가 입력되었을 때를 살펴보면
3       : 00000000 00000000 00000000 00000011
5       : 00000000 00000000 00000000 00000101
3 & 5 : 00000000 00000000 00000000 00000001
이 된다.

비트단위 and 연산은 두 비트열이 주어졌을 때, 둘 다 1 인 부분의 자리만 1 로 계산해 만들어 주는 것이다.

이 비트단위 and 연산을 이용하면 어떤 비트열의 특정 부분만 골라내거나, 0 으로 만들 수 있는데
192.168.0.31   : 11000000.10101000.00000000.00011111
255.255.255.0 : 11111111.11111111.11111111.00000000
일 때,

두 개의 ip 주소를 & 연산하면
192.168.0.0 :     110000000.10101000.0000000.00000000 을 얻어낼 수 있다.

실제로 이러한 계산은 네트워크에 연결되어 있는 두 컴퓨터가 데이터를 주고받기 위해
서로 같은 네트워크에 있는지, 다른 네트워크에 있는지를 판단하는데 사용된다.

이러한 비트단위 연산은
빠른 그래픽처리를 위해 이전 화면과 다른 부분만 찾아내거나 처리하는
마스크(특정 부분을 가리는)연산을 수행하는데에도 효과적으로 사용된다.




입력 설명

정수 2개가 공백으로 구분되어 입력된다.
(-2147483648 ~ 2147483647) 

출력 설명

두 정수를 비트단위(bitwise)로 and 계산을 수행한 결과를 10진수로 출력한다.

입력 예시 Copy

3 5

출력 예시 Copy

1

도움

python언어기초100제v0.8 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회
- 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.
- 모든 내용 및 이미지들은 저작자와의 협의 없이 무단으로 사용할 수 없습니다.

출처/분류