इनपुट के साथ एक आईपी एड्रेस वैल्यू के रूप में दिया गया है और कार्य दिए गए आईपी पते को इसके हेक्साडेसिमल समकक्ष के रूप में प्रस्तुत करना है।
आईपी एड्रेस क्या है
आईपी एड्रेस या इंटरनेट प्रोटोकॉल एक अद्वितीय संख्या है जो विशिष्ट रूप से नेटवर्क से जुड़े आपके हार्डवेयर का वर्णन करती है। इंटरनेट का मतलब नेटवर्क पर है और प्रोटोकॉल नियमों और विनियमों के सेट को परिभाषित करता है जिनका कनेक्शन के लिए पालन किया जाना चाहिए। केवल IP पते के कारण ही एक सिस्टम के लिए एक नेटवर्क पर किसी अन्य सिस्टम के साथ संचार करना संभव है। आईपी के दो संस्करण हैं जो हैं -
- आईपीवी4 (इंटरनेट प्रोटोकॉल संस्करण 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