Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- dfs
- String
- Python
- Algospot
- 정수론
- BASIC
- BFS
- programmers
- udemy
- JavaScript
- server
- 인프런
- BOJ
- graph
- Cleancode
- C
- 백준
- 따라하면서 배우는 C언어
- 생활코딩
- sorting
- web
- 종만북
- 따라하며 배우는 C언어
- C언어
- Math
- DP
- greedy
- 따배씨
- php
- Algorithm
Archives
- Today
- Total
몽상실현개발주의
[따배씨] 15.8 RGBA 색상 비트 마스크 연습문제 본문
따배씨 - 따라하며 배우는 C언어
15강 비트 다루기
15.8 RGBA 색상 비트 마스크 연습문제
- 컴퓨터에서 색을 표현하는 방법 중 하나
#include <stdio.h>
#define BYTE_MASK 0xff // 0xff - 8비트로 표현가능한 16진수 중 가장 큰 수 == 11111111
void int_binary(const int num);
int main()
{
unsigned int rgba_color = 0x66CDAAFF;
// 4 bytes, medium aqua marine (102, 205, 170, 255) , unsigned char type
unsigned char red, green, blue, alpha;
// Use right shifg >> operator
red = (rgba_color >> 24 & BYTE_MASK);
green = (rgba_color >> 16 & BYTE_MASK);
blue = (rgba_color >> 8 & BYTE_MASK);
alpha = rgba_color & BYTE_MASK;
printf("(R, G, B, A) = (%hhu, %hhu, %hhu, %hhu)\n", red, green, blue, alpha);
// (R, G, B, A) = (102, 205, 170, 255)
return 0;
}
unsigned int rgba_color = 0x66CDAAFF;
- Bianry : 01100110 11001101 10101010 11111111
- red : 01100110 == 102
- green : 11001101 == 205
- blue : 10101010 == 170
- alpha : 11111111 == 255
- 4byte 를 1byte(8bits) 씩 R, G, B, A 를 표현 / 각 색상당 0~255 까지 표현가능
이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다.
http://blog.naver.com/atelierjpro
http://www.inflearn.com/course/following-c
'Language > C' 카테고리의 다른 글
[따배씨] 15.10 비트필드의 사용방법 (0) | 2021.07.27 |
---|---|
[따배씨] 15.9 구조체 안의 비트필드 (0) | 2021.07.27 |
[따배씨] 15.7 비트단위 연산자의 다양한 사용법 (0) | 2021.07.25 |
[따배씨] 15.6 비트단위 쉬프트 연산자 (0) | 2021.07.23 |
[따배씨] 15.5 2의 보수 표현법 확인해보기 (0) | 2021.07.23 |
Comments