একটি 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