24
จำนวน Endian น้อยไปเป็นการแปลงสตริง
บทนำ ในระหว่างการทำงานกับเครื่องกำเนิดBMP (บิตแมป)ฉันประสบปัญหาในการแปลงตัวเลขให้เป็นสตริงเลขฐานสิบหกน้อย นี่คือฟังก์ชั่นที่ฉันสร้างใน JavaScript - แต่สงสัยว่าโค้ดเล็ก ๆ จะทำงานอย่างไรในทำนองเดียวกัน let liEnd= num => num.toString(16).padStart(8,'0').match(/../g).reverse().join``; console.log(liEnd(304767)) // 304767 dec = 0x4a67f hex เรียกใช้ข้อมูลโค้ดHide resultsขยายตัวอย่างข้อมูล ท้าทาย ฟังก์ชั่นการเขียนซึ่งจะใช้จำนวนเต็ม 32 บิตที่ไม่ได้ลงชื่อในการป้อนข้อมูลและผลิตสตริงเลขฐานสิบหก 8 หลักที่มีคำสั่ง endian น้อย อัลกอริทึมตัวอย่างซึ่งทำงาน: แปลงชาไปเป็นสตริงฐานสิบหกเช่น: 304767 -> '4a67f' เพิ่มศูนย์ padding เพื่อรับสาย 8-char: '0004a67f' แยกสตริงเป็นสองชิ้น 2 ถ่าน: '00','04','a6','7f' กลับคำสั่งของชิ้น '7f','a6','04','00' เข้าร่วมชิ้นและกลับมาเป็นผล: '7fa60400' ตัวอย่างอินพุตและเอาต์พุต …
13
code-golf