[C/C++] 정수를 IP주소로 변환하기 (Decimal to IP Address)
2019. 3. 18. 11:20ㆍProgramming/C, C++
반응형
정수<->IP Address 변환은 Convert Decimal to IP, browserling등에서 제공하므로, 제대로 변환되는지 확인이 가능하다. IP주소값의 구조를 알고 있다면, 어렵지 않게 구현이 가능하다. 매번 필요할때마다 찾아보는데, 매번 까먹어서 이번 기회에 대충이나마 정리해두기로 했다.
IP 주소(IPv4)
IPv4 기준으로 IP 주소는 8bytes짜리 네 개가 구성되어 만들어진, 32bytes짜리 정수형이다. 따라서 다음과 같이 비트 연산을 하면, 언어에 상관없이 정수로 표현된 IP주소를 문자로 변경할 수 있다.
void decimalToIPAddress(int param_decimalIp) {
printf("IP Address: %d.%d.%d.%d\n", (ip>>24)&0xFF, (ip>>16)&0xFF, (ip>>8)&0xFF, ip&0xFF);
}
반응형
'Programming > C, C++' 카테고리의 다른 글
Onvif 라이브러리 크로스 컴파일 방법 정리 (0) | 2022.01.05 |
---|---|
libcrypt.so와 glibc의 크로스 컴파일에 대하여 (0) | 2020.05.18 |
[C/gLib] trim과 문자열을 찾는 함수 작성하기 (0) | 2019.04.26 |
GLib을 이용해서 문자열 나누기(g_strsplit) (2) | 2019.04.17 |
[C/C++] 문자열 타입의 MAC ADDRESS 포멧 확인 (sscanf) (0) | 2019.03.19 |