Yet Never Lose Faith

- Good to Great , Jim Collins

How To Preprocess Image Data 자세히보기

Algorithm

29th. CodeUp #1506 : [기초-논리연산] 참/거짓이 서로 다를 때에만 참 출력하기

Kellyyyy 2020. 12. 14. 20:28

PROBLEM.

https://codeup.kr/problem.php?id=1056

 

[기초-논리연산] 참/거짓이 서로 다를 때에만 참 출력하기(설명)

C언어기초100제v1.2 : @컴퓨터과학사랑, 전국 정보(컴퓨터)교사 커뮤니티/연구회 - 학교 정보(컴퓨터)선생님들과 함께 수업/방과후학습/동아리활동 등을 통해 재미있게 배워보세요.  - 모든 내용

codeup.kr


IDEA.

XOR 연산자를 사용하면 두 값이 다를 때에만 참을 출력할 수 있다.

 

비트 연산자 (Bitwise Operator) 출처 : TCP SCHOOL.COM


TRIAL AND ERROR.

a, b = map(int,input().split())
print(1 if a != b else 0)

XOR 연산자의 존재를 모르고 if else문을 사용했다..ㅎㅎ


SOURCE.

a, b = map(int,input().split())
print(a^b)

LESSON.

비트연산자의 작동방식에 대해서 배웠다. 우선 비트 연산자는 수 자료형만 입력값으로 사용할 수 있으며, ⑴ 비트 단위로 논리연산을 수행하거나 (2) 비트 단위로 전체 비트를 왼쪽이나 오른쪽으로 이동시킬 때 사용한다. 

 

(1) 비트 단위로 논리연산 수행 ( &, |, ^, ~)

 

AND 연산자와 OR연산 출처 : TCP SCHOOL.COM

 

위 그림처럼 수 자료형을 비트 단위로 만들어 각 자리를 비교해서 새로운 값을 만들어낸다.

 

a = 15
b = 8
print(a&b)
# 출력 : 8

 

(2) 비트 단위로 전체 비트를 왼쪽이나 오른쪽으로 이동 (<<, >>)

 

<< □ (Left Shift  연산자) : 모든 비트를 만큼 왼쪽으로 이동시킨다. 즉, 2^□ 만큼 곱해진다.

a = 8
print(a << 5)
# 출력 : 256

 

>> □ (Right Shift 연산자) : 모든 비트를  만큼 오른쪽으로 이동시킨다. 즉, 2^□ 만큼 나눠진다.

a = 8
print(a >> 1)
# 출력 : 4

Reference.

 

1) 웹 사이트 - 코딩의 시작, TCP SCHOOL.COM

http://www.tcpschool.com/c/c_operator_bitwise

 

코딩교육 티씨피스쿨

4차산업혁명, 코딩교육, 소프트웨어교육, 코딩기초, SW코딩, 기초코딩부터 자바 파이썬 등

tcpschool.com

End.