IP ঠিকানা ইনপুট হিসেবে দেওয়া থাকলে, সেটিকে হেক্সাডেসিমেল সমতুল্য হিসেবে দেখাতে হবে।
IP ঠিকানা কী?
IP ঠিকানা বা ইন্টারনেট প্রোটোকল হলো একটি унікал নম্বর যা নেটওয়ার্কে সংযুক্ত আপনার হার্ডওয়্যারকে সুনির্দিষ্টভাবে বর্ণনা করে। ইন্টারনেট মানে নেটওয়ার্কের মাধ্যমে এবং প্রোটোকল মানে সংযোগের জন্য বাধ্যতামূলক নিয়মাবলি। IP ঠিকানার কারণে হি একটি সিস্টেম অন্য সিস্টেমের সাথে নেটওয়ার্কের মাধ্যমে যোগাযোগ করতে পারে। IP-এর দুটি ভার্সন আছে:
- IPv4 (Internet Protocol Version 4)
- IPv6 (Internet Protocol Version 6)
IP ঠিকানা নম্বর সিকোয়েন্স হিসেবে রিপ্রেজেন্ট করা হয়:
151.101.65.121
এই কনভার্সনের জন্য নিচের প্রোগ্রাম "arpa/inet.h" হেডার ফাইল ব্যবহার করে যা ইন্টারনেট অপারেশনের জন্য তৈরি।
উদাহরণ
Input: 127.0.0.1 Output: 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
C++ প্রোগ্রাম উদাহরণ
#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