2013-05-09 3 views
4

그래서 저는 현재 C++을 배우는 중입니다. 'SAMS는 하루에 1 시간 만에 C++를 가르칩니다.'라는 책을 통해. 지금까지 그것은 훌륭했습니다. 나는 말한 모든 것을 이해했으며 간단한 프로그램에서 모든 것을 사용하여 연습했습니다.왜 비트 연산자를 사용합니까?

그러나 Bitwise 연산자에 대한 섹션을 다뤘습니다. 완전히 뒤죽박죽입니다. 나는 당신이 &, ~, |, < <, >> 등을 가지고 있고, 각각이 이진 형식의 숫자에 대해 다른 동작을 수행한다는 것을 이해합니다. ~는 숫자를 뒤집습니다.

내가 가진 문제는 어떻게 그리고 왜 당신이 그들을 사용하고 싶은지에 관해서 머리를 맞출 수 없다는 것입니다. int를 사용하고 이진수를 뒤집어서 다른 숫자를 사용하는 것이 나에게 잘 맞습니다. 그러나 이것이 어떻게 모양이나 형태로 어떤 방식으로 도움이됩니까? 나는 왜 당신이 각각을 사용하고, 가능하다면 예를 들어 설명 할 수 있겠습니까?

감사합니다.

+2

http://en.wikipedia.org/wiki/Bitwise_operation, http://stackoverflow.com/q/11945481/62576 –

+1

@KenWhite 그는 * 그게 무엇인지 묻지는 않지만 실제로 사용하는 것은 무엇입니까. – 0x499602D2

+0

분명히이 책은 ... –

답변

1

많은 응용 프로그램이 있지만 두 가지 예가 있습니다. 1 바이트 컨테이너에 8 개의 1 비트 값이 저장되어 있다고 가정합니다. Bitwise-and는 2의 제곱으로 개별 비트에 쉽게 액세스 할 수 있습니다.

RGB 이미지에서 고감도 픽셀을 스캔하는 경우 세 가지 색상 값에 대해 bitwise-and를 128로 사용할 수 있습니다. 이는 R> 128과 같은 다른 부울 표현식보다 빠른 연산입니다.

관련 문제