27
การเปลี่ยนสับเปลี่ยนบิตกลับ
เป้าหมายของคุณคือการสร้างฟังก์ชั่นหรือโปรแกรมที่จะย้อนกลับบิตในช่วงของจำนวนเต็มให้จำนวนเต็มn กล่าวอีกนัยหนึ่งคุณต้องการค้นหาการเปลี่ยนรูปบิตกลับรายการช่วง 2 nรายการซึ่งไม่มีดัชนี และนี่ก็เป็นลำดับ OEIS A030109 กระบวนการนี้มักใช้ในการคำนวณ Fast Fourier Transforms เช่นอัลกอริทึม Cooley-Tukey ในสถานที่สำหรับ FFT นอกจากนี้ยังมีความท้าทายสำหรับการคำนวณ FFT สำหรับลำดับที่ความยาวคือพลังของ 2 กระบวนการนี้กำหนดให้คุณทำซ้ำในช่วง [0, 2 n -1] และแปลงแต่ละค่าเป็นไบนารีและแปลงบิตในค่านั้น คุณจะได้รับการรักษาแต่ละค่าเป็นnจำนวน -digit ในฐาน 2 ซึ่งหมายถึงการกลับรายการจะเกิดขึ้นในหมู่สุดท้ายnบิต ตัวอย่างเช่นถ้าn = 3 [0, 1, 2, 3, 4, 5, 6, 7]ช่วงของจำนวนเต็มคือ เหล่านี้คือ i Regular Bit-Reversed j 0 000 000 0 …