C,C++
콜라한캔 :: 16진수 문자열로 변환
콜라한캔
2018. 12. 23. 19:26
<stdint.h>
정확한 크기의 자료형을 제공해주는 헤더
int8_t, uint8_t 8비트 자료형
int16_t, uint16_t 16비트 자료형
int32_t, uint32_t 32비트 자료형
int64_t, uint64_t 64비트 자료형
최소 크기의 자료형
int_least8_t, uint_least8_t 8비트
int_least16_t, uint_least16_t 16비트
int_least32_t, uint_least32_t 32비트
int_least64_t, uint_least64_t 64비트
빠른 최소 크기의 정수형 자료형
int_fast8_t, uint_fast8_t - 8비트 빠른 동작 최소 크기 정수형.
int_fast16_t, uint_fast16_t - 16비트 빠른 동작 최소 크기 정수형.
int_fast32_t, uint_fast32_t - 32비트 빠른 동작 최소 크기 정수형.
int_fast64_t, uint_fast64_t - 64비트 빠른 동작 최소 크기 정수형.
객체의 주소를 나타내는 자료형
intptr_t - 부호 있는 주소 자료형
uintptr_t - 부호 없는 주소 자료형
#include <stdio.h> #include <stdint.h> void bin16(uint16_t num, char* bitStr) { int i; for(i=0; i<15; ++i) { bitStr[i] = (num >> (15 - i) & 0x0001) + '0'; } } int main() { uint16_t num = 0x0040; uint16_t res; char bitStr[17] = {0}; bin16(num, bitStr); printf("%s (%#06X)\n", bitStr, num); res = num >> 1; bin16(res, bitStr); printf("%s (%#06X)\n", bitStr, res); res = num >> 2; bin16(res, bitStr); printf("%s (%#06X)\n", bitStr, res); res = num >> 3; bin16(res, bitStr); printf("%s (%#06X)\n", bitStr, res); return 0; }