일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 백준
- BOJ
- dfs
- BASIC
- web
- Algorithm
- 따라하며 배우는 C언어
- 생활코딩
- 인프런
- 정수론
- 따배씨
- JavaScript
- BFS
- graph
- String
- php
- C
- udemy
- Math
- Python
- 종만북
- programmers
- Cleancode
- C언어
- sorting
- DP
- Algospot
- server
- greedy
- 따라하면서 배우는 C언어
- Today
- Total
목록Language (271)
몽상실현개발주의
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.12 메모리 줄맞춤 alignof, alignas 변수나 배열같은 객체들을 메모리에 배치 할때, 줄맞춤 규칙을 결정 #include #include int main() { printf("Alignment of char = %zu\n", alignof(char)); // Alignment of char = 1 // align 의 size 가 1 byte 이므로, align 을 할 때 최소 단위가 1byte printf("alignof(float[10]) = %zu\n", alignof(float[10])); // alignof(float[10]) = 4 // float 의 size 가 4 byte 이므로, align 시 최소 단위가 4byte pr..
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.11 비트필드 Bits-Fields 의 패딩 Padding #include #include // CHAR_BIT #include #include void char_to_binary (unsigned char uc) { const int bits = CHAR_BIT * sizeof(unsigned char); for (int i = bits - 1; i >= 0; i--) { printf("%d", (uc >> i) & 1); } } void print_binary(char* data, int bytes) { for (int i = 0; i < bytes; i++) { char_to_binary(data[bytes - 1 - i]); printf(..
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.9 15.10 비트필드의 사용방법 #include #include #include void char_to_binary(unsigned char uc) { const int bits = CHAR_BIT * sizeof(unsigned char); for (int i = bits - 1; i >= 0; i--) { printf("%d", (uc >> i & 1)); } } void print_binary(char* data, int bytes) { for (int i = 0; i < bytes; i++) { char_to_binary(data[i]); } printf("\n"); } int main() { struct items { bool has_..
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.9 구조체 안의 비트필드 Bit-Fields Bit-Fields : 비트가 연속적으로 나열되어 있는 형태 C 언어에서는 구조체를 사용 ' : ' 뒤의 숫자는 몇 bit 를 사용 할지를 선언하는 방법 Bit-Fields 와 Bit-Masking 은 혼용되어 사용됨 이 글의 모든 사진과 내용의 출처는 홍정모 교수님께 있음을 알려드립니다. http://blog.naver.com/atelierjpro 실리콘 밸리의 프로그래머 : 네이버 블로그 안녕하세요! 홍정모 블로그에 오신 것을 환영합니다. 주로 프로그래밍 관련 메모 용도로 사용합니다. 강의 수강하시는 분들은 홍정모 연구소 카페로 오세요. blog.naver.com http://www.inflearn..
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.8 RGBA 색상 비트 마스크 연습문제 컴퓨터에서 색을 표현하는 방법 중 하나 #include #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_colo..
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.7 비트단위 연산자의 다양한 사용법 비트단위 연산자는 메모리와 CPU 를 잘 사용해야 하는 큰 프로그램을 작성할때 유용하게 사용 가능 #include #include // shift Decimal Binary Hex Octet #define MASK_SWORD (1
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.6 비트단위 쉬프트 Shift 연산자 #include #include #include #include void int_binary(const int num); int main() { /* Bitwise shift operators - Left shift number > n : divede by 2^n (for non-negative numbers) */ // 8 bit integer cases // printf("%hhd\n", 1 00000001??? -> 00001000 // 8 printf("%hhd\n", 8 >> 1); // 00001000 -> ?00001000 -> 00000100 // 4 printf("%hhd\n", -119 >>..
따배씨 - 따라하며 배우는 C언어 15강 비트 다루기 15.5 2의 보수 2's Complement 표현법 확인해보기 #include #include #include #include void print_binary(const char num); int main() { /* Signed Integers - Sign-magnitude representation 00000001 is 1 and 10000001 is -1 00000000 is +0, 10000000 is -0 Two zeros +0, -0, from -127 to +127 - One's complement method To reverse the sign, invert each bit. 00000001 is 1 and 11111110 is -1...