IP 주소 값으로 입력이 주어지고 작업은 주어진 IP 주소를 16진수로 나타내는 것입니다.
IP 주소란 무엇입니까
IP 주소 또는 인터넷 프로토콜은 네트워크에 연결된 하드웨어를 고유하게 설명하는 고유 번호입니다. 네트워크 및 프로토콜을 통한 인터넷은 연결을 위해 따라야 하는 일련의 규칙 및 규정을 정의합니다. IP 주소만 있으면 시스템이 네트워크를 통해 다른 시스템과 통신할 수 있습니다. 다음과 같은 두 가지 버전의 IP가 있습니다. -
- IPv4(인터넷 프로토콜 버전 4)
- IPv6(인터넷 프로토콜 버전 6)
IP 주소는 −
형식의 일련 번호로 표시됩니다.151.101.65.121
이 변환을 위해 아래 프로그램은 인터넷 작업을 위해 생성된 "arpa/inet.h" 헤더 파일을 사용합니다.
예시
Input-: 127.0.0.1 Ouput-: 0x7f000001 Input-: 172.31.0.2 Output-: 0xac1f0002
알고리즘
Start Step1-> Declare function to reverse void reverse(char* str) set int len = 2 set int r = strlen(str) – 2 Loop While (len < r) call swap(str[len++], str[r++]) Call swap(str[len++], str[r]) Set r = r – 3 End End Step 2-> Declare function to convert IP address to hexadecimal void convert(int ip_add) declare char str[15] call sprintf(str, "0x%08x", ip_add) call reverse(str) print str step 3-> In main() declare int ip_add = inet_addr("127.0.0.1") call convert(ip_add) Stop
예시
#include <arpa/inet.h> #include <iostream> #include <string.h> using namespace std; //reverse hexadecimal number void reverse(char* str) { int len = 2; int r = strlen(str) - 2; while (len < r) { swap(str[len++], str[r++]); swap(str[len++], str[r]); r = r - 3; } } //Convert IP address to heaxdecimal void convert(int ip_add) { char str[15]; sprintf(str, "0x%08x", ip_add); reverse(str); cout << str << "\n"; } int main() { int ip_add = inet_addr("127.0.0.1"); convert(ip_add); return 0; }
출력
위의 코드를 실행하면 다음 출력이 생성됩니다.
0x7f000001