개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.05.12 21:16

long2ip 함수에 대한 질문

목록
  • 반응형디자인매니아 2일 전 2025.05.12 21:16
  • 7
    1
제가 recently long2ip 함수를 사용하여 IPv4 주소로 32비트 정수를 변환하고 있습니다. 하지만 long2ip 함수가 32비트 정수를 IPv4 주소로 변환하는 방식에 대해 궁금하네요.

예를 들어, 32비트 정수 3232235777을 IPv4 주소로 변환한 결과는 어떤가요?

그리고 long2ip 함수는 IPv4 주소의 네 부분을 어떻게 구분하여 32비트 정수로 변환하는지 궁금하네요.

위 질문에 대한 답변을 부탁드립니다.

    댓글목록

    profile_image
    나우호스팅  2일 전



    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

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 19,369건 / 36 페이지

검색

게시물 검색