কম্পিউটার

আইপি অ্যাড্রেসকে সি++ এ হেক্সাডেসিমেলে রূপান্তর করার প্রোগ্রাম


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

  1. হেক্সাডেসিমেল থেকে দশমিকের জন্য C++ প্রোগ্রাম

  2. C++ এ দশমিক থেকে হেক্সাডেসিমেল রূপান্তরের জন্য প্রোগ্রাম

  3. ফারেনহাইটকে সেলসিয়াসে রূপান্তর করতে C++ প্রোগ্রাম

  4. ক্যারেক্টার কেস কনভার্ট করার জন্য C# প্রোগ্রাম