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

Chuyển đổi số thập phân 32 bit không dấu thành địa chỉ ipv4 tương ứng trong JavaScript

Vấn đề

Xem xét địa chỉ ipv4 sau -

128.32.10.1

Nếu chúng tôi chuyển đổi nó sang hệ nhị phân, giá trị tương đương sẽ là -

10000000.00100000.00001010.00000001

Và xa hơn nữa nếu chúng ta chuyển đổi số nhị phân này thành số thập phân 32 bit không dấu, số thập phân sẽ là -

2149583361

Do đó, chúng ta có thể nói rằng ipv4 tương đương của 2149583361 là 128.32.10.1

Chúng tôi được yêu cầu viết một hàm JavaScript nhận vào một số nguyên không dấu 32 bit và trả về địa chỉ ipv4 tương đương của nó.

Ví dụ

Sau đây là mã -

const num = 2149583361;
const int32ToIp = (num) => {
   return (num >>> 24 & 0xFF) + '.' +
   (num >>> 16 & 0xFF) + '.' +
   (num >>> 8 & 0xFF) + '.' +
   (num & 0xFF);
};
console.log(int32ToIp(num));

Đầu ra

Sau đây là đầu ra của bảng điều khiển -

128.32.10.1