
long2ip 함수는 IPv4 주소를 32비트 정수로 변환하는 함수입니다. 이 함수는 IPv4 주소의 네 부분을 구분하여 32비트 정수로 변환합니다.
IPv4 주소는 4개의 8비트 부분으로 구성되며, 각 부분은 0에서 255까지의 값을 가집니다. long2ip 함수는 이 네 부분을 32비트 정수로 변환하기 위해 다음과 같은 방법을 사용합니다.
1. 네 부분을 구분하여 각 부분의 값을 얻습니다.
2. 각 부분의 값을 8비트 정수로 변환합니다.
3. 변환된 8비트 정수를 32비트 정수로 결합합니다.
예를 들어, 32비트 정수 3232235777을 IPv4 주소로 변환하는 경우, 다음과 같이 진행할 수 있습니다.
1. 네 부분을 구분하여 각 부분의 값을 얻습니다.
- 3232235777 / 16777216 = 192 (부분 1)
- (3232235777 % 16777216) / 65536 = 128 (부분 2)
- ((3232235777 % 16777216) % 65536) / 256 = 3 (부분 3)
- (((3232235777 % 16777216) % 65536) % 256) = 1 (부분 4)
2. 각 부분의 값을 8비트 정수로 변환합니다.
- 부분 1: 192 -> 11000000
- 부분 2: 128 -> 10000000
- 부분 3: 3 -> 00000011
- 부분 4: 1 -> 00000001
3. 변환된 8비트 정수를 32비트 정수로 결합합니다.
- 11000000 10000000 00000011 00000001 -> 3232235777
따라서, 32비트 정수 3232235777을 IPv4 주소로 변환한 결과는 192.128.3.1입니다.
2025-05-12 21:17