728x90
목차

1. 이진연산 : AND(&), OR(|), XOR(^)

2. 이진연산을 수행하는 함수

3. 이진연산의 사용하는 예시

 

 

흔히 우리주위에서 볼 수 있는 것처럼 사람은 10진수 체계에 익숙하지만 컴퓨터는 2진수로 세상을 이해합니다.

컴퓨터의 경우 아예 모든 숫자와 문자를 포함한 정보를 다 결국 2진수로 이해하고 있죠.

보통 의식하지 못하지만 스마트 폰으로 간단한 덧셈 뺄셈을 하더라도 컴퓨터 자체는 좀 길게 돌아가서 수행합니다.

프로그램을 할 때라든가 대량의 연산을 할때는 에러를 막기 위해 이진수 자체를 이용한 연산을 사람이 직접 시도합니다.

오늘은 이런 이진 연산의 종류와 엑셀로 수행하는 방법을 알아보겠습니다.

 

 

1. 이진연산 : AND(&), OR(|), XOR(^)

 

숫자는 이진수로 나타낼 수 있습니다.

같은 자리의 수에 AND와 OR 연산자를 취하는 방법입니다.

 

먼저 예를 들어서 보여드리는게 쉽습니다.

 

< AND(&) 연산 >

64 & 227는 아래와 같습니다.

 

"&" 연산자 사용하기

 

먼저 64(01000000)와 227(11100011)을 이진수로 변환합니다.

둘 다 1인 것은 하나이고 그 위치만 1을 취하면 (01000000 = 64) 입니다.

0과 연산하면 무조건 0으로 반환합니다.

 

< OR(|) 연산 >

102 | 162는 아래와 같습니다.

 

"❘" 연산자 사용하기

 

다시 102(01100110)과 227(10100010)을 이진수로 변환합니다.

OR은 둘 중 하나라도 1인 위치에서는 1을 반환합니다.

하나라도 1이 있으면 무조건 1입니다.

이 경우에는 (11100110 = 230)이 됩니다.

 

< XOR(^) 연산 >

78 ^ 170는 아래와 같습니다.

연산자 ^ 지수함수에서는 사용하는 승 표시와 같음으로 사용할 때 주의해야 합니다.

 

"^" 연산자 사용하기

 

이번에도 78(01001110)과 170(10101010)으로 변환합니다.

XOR은 하나가 1, 하나가 0이면 1을 반환합니다.

나머지는0으로 처리됨으로 (11100100 = 228)이 됩니다.

 

 

2. 이진연산을 수행하는 함수

 

엑셀에서 이진연산을 수행하는 함수는 bitAND, bitOR, bitXOR입니다.

함수의 기능과 사용은 간단합니다.

 

  • bitAND (number1, number2, ...) : 이진연산 AND를 수행합니다.
  • bitOR (number1, number2, ...) : 이진연산 OR를 수행합니다.
  • bitXOR (number1, number2, ...) : 이진연산 XOR를 수행합니다.

인수인 number의 숫자는 10진수를 사용해야 하고 10진수로 반환합니다.

228-1까지 수행할 수 있고, 정수만 사용가능합니다.

 

 

3. 이진연산의 사용하는 예시

 

컴퓨터는 이진연산을 이용하면 빠르고 에러가 거의 없이 사용됩니다.

다양한 분야에서 사용되는데 예를 들어 0과 만나면 0을 반환하는 AND연산자를 통하면 마스크로 쓸 수 있습니다.

 

원래 사용할 숫자 : 11010101

마스크 (M)           : 11110000

 

이렇게 하면 숫자 & 마스크(M)을 사용하면 오른쪽 4자리 수만 사용할 수 있습니다.(1101)

왼쪽 4개는 무조건 0으로 버려지게 됩니다.

대량의 정규화된 데이터베이스 중에서 추출할 자리 수에만 1이 있는 마스크를 만들면 언제든지 뽑을 수 있습니다.

 

 

반응형

+ Recent posts