오보에블로그
Bitwise Operators and Enumeration Types 본문
728x90
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 32 33 34 35 36 37 38 39 40 41 | #include <stdio.h> #include <stido.h> #include <limits.h> #include <unistd.h> void moving_sign(char, char, char, char);/*shift를 이용해서 글자를 움직인다.*/ void print_sign(int);//프린트 함수 int main(void){ moving_sign('H','E','Y',' '); return 0; } void print_sign(int a){ printf(" %c %c %c %c \n", a/(256*256*256), a/(256*256) , a/256, a); } void moving_sign(char _a, char _b, char _c, char _d){ char a= _a, b= _b, c= _c, d= _d, tmp; int p; p = a;/*_ _ _ H */ p = (p<< CHAR_BIT) |b;/*_ _ H E */ p = (p<< CHAR_BIT) |c;/*_ H E Y */ p = (p<< CHAR_BIT) |d;/*H E Y _ */ while(1){ system("clear");/*터미널에 출력된 내용 삭제 */ print_sign(p); sleep(1);/*1초 쉬기*/ unsigned mask = 255;/*mask = 00000000 00000000 00000000 11111111*/ mask <<= 3*CHAR_BIT;/*mask = 11111111 00000000 00000000 00000000*/ tmp = (p&mask)>>3*CHAR_BIT;/* (p&mask) = 'H'의 아스키값 00000000 00000000 00000000 tmp = (p&mask)>>3*CHAR_BIT = 00000000 00000000 00000000 'H의 아스키값' */ p = (p<< CHAR_BIT) | tmp;/* E Y _ H */ } } | cs |
728x90
'C++ & C# > C++' 카테고리의 다른 글
1065 한수 (0) | 2017.12.28 |
---|---|
1085 직사각형에서 탈출 (0) | 2017.11.20 |
단어순서 뒤집기 (0) | 2017.10.29 |
Makefile을 이용하여 한꺼번에 컴파일하기 (0) | 2017.10.26 |
팰린드롬? (0) | 2017.10.24 |