Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Chuyển đổi số thập phân 32-bit không dấu sang địa chỉ IPv4 bằng JavaScript


Vấn đề

Xét địa chỉ IPv4 sau:

128.32.10.1

Nếu chuyển sang nhị phân, tương đương là:

10000000.00100000.00001010.00000001

Và chuyển nhị phân này sang số thập phân 32-bit không dấu, ta được:

2149583361

Do đó, ta có thể nói địa chỉ IPv4 tương ứng của 2149583361 là 128.32.10.1

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

Ví dụ

Dưới đâ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));

Kết quả

Kết quả console:

128.32.10.1