ปัญหา
พิจารณาที่อยู่ ipv4 ต่อไปนี้ -
128.32.10.1
หากเราแปลงเป็นเลขฐานสอง ค่าที่เท่ากันจะเป็น −
10000000.00100000.00001010.00000001
และถ้าเราแปลงเลขฐานสองนี้เป็นทศนิยม 32 บิตที่ไม่ได้ลงนาม ทศนิยมจะเป็น -
2149583361
ดังนั้น เราสามารถพูดได้ว่า ipv4 ที่เทียบเท่ากับ 2149583361 คือ 128.32.10.1
เราจำเป็นต้องเขียนฟังก์ชัน JavaScript ที่ใช้จำนวนเต็ม 32 บิตที่ไม่ได้ลงนามและส่งคืนที่อยู่ ipv4 ที่เทียบเท่ากัน
ตัวอย่าง
ต่อไปนี้เป็นรหัส -
const num = 2149583361;
const int32ToIp = (num) => {
return (num >>> 24 & 0xFF) + '.' +
(num >>> 16 & 0xFF) + '.' +
(num >>> 8 & 0xFF) + '.' +
(num & 0xFF);
};
console.log(int32ToIp(num)); ผลลัพธ์
ต่อไปนี้เป็นเอาต์พุตคอนโซล -
128.32.10.1