इनपुट के रूप में एक IP एड्रेस मान दिया गया है और कार्य दिए गए IP एड्रेस को उसके हेक्साडेसिमल समतुल्य के रूप में दर्शाना है।
IP एड्रेस क्या है
IP एड्रेस या इंटरनेट प्रोटोकॉल एक अद्वितीय संख्या है जो नेटवर्क से जुड़े आपके हार्डवेयर को विशिष्ट रूप से वर्णित करती है। इंटरनेट का अर्थ नेटवर्क पर है और प्रोटोकॉल उन नियमों और विनियमों के समूह को परिभाषित करता है जिनका पालन कनेक्शन के लिए किया जाना चाहिए। IP एड्रेस के कारण ही एक सिस्टम के लिए नेटवर्क पर दूसरे सिस्टम के साथ संचार करना संभव है। IP के दो संस्करण हैं:
- IPv4 (इंटरनेट प्रोटोकॉल संस्करण 4)
- IPv6 (इंटरनेट प्रोटोकॉल संस्करण 6)
IP एड्रेस को संख्याओं के अनुक्रम के रूप में दर्शाया जाता है जो इस रूप में होते हैं:
151.101.65.121
इस रूपांतरण के लिए, नीचे दिया गया प्रोग्राम हेडर फ़ाइल "arpa/inet.h" का उपयोग कर रहा है जो इंटरनेट ऑपरेशंस के लिए बनाई गई है।
उदाहरण
इनपुट-: 127.0.0.1 आउटपुट-: 0x7f000001 इनपुट-: 172.31.0.2 आउटपुट-: 0xac1f0002
एल्गोरिदम
शुरुआत चरण 1-> रिवर्स के लिए फ़ंक्शन घोषित करें void reverse(char* str) int len = 2 सेट करें int r = strlen(str) - 2 सेट करें लूप जबकि (len < r) swap(str[len++], str[r++]) कॉल करें swap(str[len++], str[r]) कॉल करें r = r - 3 सेट करें समाप्त समाप्त चरण 2-> IP एड्रेस को हेक्साडेसिमल में बदलने के लिए फ़ंक्शन घोषित करें void convert(int ip_add) char str[15] घोषित करें sprintf(str, "0x%08x", ip_add) कॉल करें reverse(str) कॉल करें str प्रिंट करें चरण 3-> main() में int ip_add = inet_addr("127.0.0.1") घोषित करें convert(ip_add) कॉल करें रुकें उदाहरण
#include <arpa/inet.h> #include <iostream> #include <string.h> using namespace std; //हेक्साडेसिमल संख्या को रिवर्स करें 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; } } //IP एड्रेस को हेक्साडेसिमल में बदलें 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