Computer >> Máy Tính >  >> Lập trình >> C ++

Chương trình chuyển đổi địa chỉ IP sang hệ thập lục phân trong C ++

Được đưa ra với đầu vào là giá trị địa chỉ IP và nhiệm vụ là biểu diễn địa chỉ IP đã cho dưới dạng tương đương thập lục phân của nó.

Địa chỉ IP là gì

Địa chỉ IP hoặc giao thức Internet là một số duy nhất mô tả duy nhất phần cứng của bạn được kết nối với mạng. Internet có nghĩa là qua mạng và giao thức xác định tập hợp các quy tắc và quy định phải tuân theo để kết nối. Do chỉ có địa chỉ IP nên hệ thống mới có thể giao tiếp với hệ thống khác qua mạng. Có hai phiên bản IP là -

  • IPv4 (Giao thức Internet Phiên bản 4)
  • IPv6 (Giao thức Internet Phiên bản 6)

Địa chỉ IP được biểu diễn dưới dạng dãy số có dạng -

151.101.65.121

Đối với việc chuyển đổi này, chương trình dưới đây đang sử dụng tệp tiêu đề “arpa / inet.h” được tạo cho các hoạt động internet

Ví dụ

Input-: 127.0.0.1
Ouput-: 0x7f000001
Input-: 172.31.0.2
Output-: 0xac1f0002

Thuật toán

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

Ví dụ

#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;
}

Đầu ra

NẾU CHÚNG TÔI CHẠY MÃ TRÊN, NÓ SẼ TẠO ĐẦU RA SAU ĐÂY

0x7f000001