강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

이수연님의 프로필 이미지
이수연

작성한 질문수

홍정모의 따라하며 배우는 C++

3.9 비트 플래그, 비트 마스크 사용법 Bit flags, Bit masks

bit mask 부분

작성

·

239

0

비트 마스크 부분에서 코드 그대로 잘 따라했는데
선생님이 말씀해 주신대로 blue부분은 잘 나오는데 red, green은 잘 나오지 않네요
시프트를 하지 않아서인지 바꿔봤는데도 안되요 혹시 어떤 부분이 오류가 있는건지 알려주실 수 있을까요?
 
#include <iostream> #include<bitset> using namespace std; int main() { const unsigned char red_mask = 0xFF0000; const unsigned char green_mask = 0x00FF00; const unsigned char blue_mask = 0x0000FF; cout << bitset<32>(red_mask) << endl; cout << bitset<32>(green_mask) << endl; cout << bitset<32>(blue_mask) << endl; unsigned int pixel_color = 0xDAA520; //여기서 색상별 추출 cout << bitset<32>(pixel_color) << " " << endl; unsigned int red = pixel_color & red_mask; unsigned int green = pixel_color & green_mask>>8; unsigned char blue = pixel_color & blue_mask; //pixel_color에서 blue 추출 cout << "red " << bitset<8>(red) << " " << int(red) << endl; cout << "green " << bitset<8>(green) << " " << int(green) << endl; cout << "blue " << bitset<8>(blue) << " " << int(blue) << endl; return 0; }

퀴즈

연산자 우선순위 및 결합 법칙에 대한 설명으로 옳은 것은 무엇일까요?

덧셈과 뺄셈이 곱셈, 나눗셈보다 항상 먼저 계산됩니다.

동일한 우선순위의 연산자는 항상 오른쪽에서 왼쪽으로 계산됩니다.

괄호를 사용하면 연산자 우선순위를 무시하고 먼저 계산할 수 있습니다.

논리 AND 연산자는 논리 OR 연산자보다 우선순위가 낮습니다.

답변 1

0

안녕하세요!

코드가 모두 한 줄로 되어 있네요.. 줄바꿈된 코드 부탁드립니다..!

이수연님의 프로필 이미지
이수연

작성한 질문수

질문하기