출처: http://easyisright.net/570(게임 개발/프로그래밍 2009/01/27 13:43) 어떤 정수형 변수의 값을 조사해서, 1로 설정된 비트 수가 몇 개나 되는지 알아야 할 때가 있습니다. 이럴 때 최적화된 여러 방법이 있지만, 제일 직관적이고 쉬운 방법은 다음과 같습니다. unsigned int count_bits_set(unsigned int input_value) { unsigned int number_of_bits_set = 0; for (; input_value > 0; input_value >>= 1) { number_of_bits_set += input_value & 1; } return number_of_bits_set; }좀 더 빠른 방법을 찾으려면, 검색 엔진에서 ..
/** * int clock_gettime(clockid_t clock_id, struct timespec *tp); * Description: clock_settime, clock_gettime, clock_getres - clock and timer functions (REALTIME) * need to compile option: -lrt (gcc -o test test.c -lrt) **/ #include main() { struct timespec tp; int ts; ts = clock_gettime(CLOCK_REALTIME, &tp); printf(“%ld %ld\n”, tp.tv_sec, tp.tv_nsec); ts = clock_gettime(CLOCK_REALTIME, &tp); pr..
int function0(char *str) { return 0; } int function1(char *str) { return 1; } int function2(char *str) { return 2; } int function3(char *str) { return 3; } /** * 함수 포인터를 이용한 함수선택 * op의 값에 따라 function1() ~ function3() 까지 분기 **/ int selectFunction(char *str, int op) { int (*sFunction[4])(char*) = { function0, function1, function2, function3 }; return sFunction[op](str); } /* 심심하다.. -_-;; */