ทำไมประเภทจำนวนเต็มแบบเร็วจึงเร็วกว่าประเภทจำนวนเต็มอื่น ๆ
ใน ISO / IEC 9899: 2018 (C18) แสดงไว้ภายใต้ 7.20.1.3: 7.20.1.3 ประเภทจำนวนเต็มความกว้างต่ำสุดที่เร็วที่สุด 1 แต่ละประเภทต่อไปนี้กำหนดประเภทจำนวนเต็มที่มักจะเร็วที่สุด268)เพื่อใช้งานกับประเภทจำนวนเต็มทั้งหมดที่มีความกว้างอย่างน้อยที่ระบุ 2 ชื่อ typedef int_fastN_tกำหนดประเภทจำนวนเต็มที่เร็วที่สุดที่ลงนามด้วยความกว้างอย่างน้อย N ชื่อ typedef uint_fastN_tกำหนดประเภทจำนวนเต็มที่ไม่ได้ลงชื่อที่เร็วที่สุดที่มีความกว้างอย่างน้อย N 3 ประเภทต่อไปนี้จำเป็นต้องใช้: int_fast8_t, int_fast16_t, int_fast32_t, int_fast64_t, uint_fast8_t, uint_fast16_t, uint_fast32_t,uint_fast64_t ประเภทอื่น ๆ ทั้งหมดของแบบฟอร์มนี้เป็นตัวเลือก 268)ประเภทที่กำหนดไม่รับประกันว่าจะเร็วที่สุดสำหรับทุกวัตถุประสงค์ หากการนำไปใช้ไม่มีเหตุผลที่ชัดเจนสำหรับการเลือกประเภทหนึ่งมากกว่าประเภทอื่นก็จะเลือกประเภทจำนวนเต็มบางอย่างที่ตอบสนองความต้องการของการลงนามและความกว้าง แต่ไม่ได้ระบุว่าทำไมประเภทจำนวนเต็ม "เร็ว" เหล่านี้จึงเร็วกว่า ทำไมจำนวนเต็มแบบเร็วเหล่านี้จึงเร็วกว่าประเภทจำนวนเต็มอื่น ๆ ผมติดแท็กคำถามกับ C ++ เพราะประเภทจำนวนเต็มอย่างรวดเร็วนอกจากนี้ยังมีใน C ++ 17 cstdintในไฟล์ส่วนหัวของ น่าเสียดายที่ใน …