[C/C++] 정수를 IP주소로 변환하기 (Decimal to IP Address)

2019. 3. 18. 11:20Programming/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);
}
반응형