인프런 커뮤니티 질문&답변
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; }





