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