강의

멘토링

커뮤니티

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

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

작성한 질문수

홍정모의 따라하며 배우는 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; }

답변 1

0

안녕하세요!

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

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

작성한 질문수

질문하기