OR연산을 하는 함수입니다.
이것은 간단히 De Morgan's law를 이용하였습니다.
/*
* bitOr - x|y using only ~ and &
* Example: bitOr(6, 5) = 7
* Legal ops: ~ &
* Max ops: 8
* Rating: 1
*/
int bitOr(int x, int y) {
/* (A|B) == ~(~(A|B)) == ~(~A&~B)
*
* 20080401
*/
return ~(~x&~y); // (A'B')' == A + B. It's De Morgan's laws.
}
"in Lesson" 카테고리의 다른 글
- 2008년 1학기 시스템 프로그래밍 - logicalNeg (0)2008/04/16
- 2008년 1학기 시스템 프로그래밍 - isZero (0)2008/04/16
- 2008년 1학기 시스템 프로그래밍 - isLessOrEqual (2)2008/04/16
- 2008년 1학기 시스템 프로그래밍 - bitOr (0)2008/04/16
- 2008년 1학기 시스템 프로그래밍 - Bit Manipulat... (14)2008/04/13
- 2008년 1학기 시스템 프로그래밍 - Bit Manipulat... (4)2008/03/19
- 2008년 1학기 시스템 프로그래밍 - AtoH & HtoA (0)2008/03/19
글에 잘못된 점, 다른 점, 부족한 점이 있다면 지적해주세요.
댓글, 트랙백, 메일 모두 고맙습니다.







댓글을 달아 주세요