Catatan: bagian pertama dari tantangan ini berasal dari tantangan Martin Ender sebelumnya, Visualisasi Bit Weaving .
Kejahatan bahasa pemrograman esoterik memiliki operasi yang menarik pada nilai byte yang disebutnya "tenun".
Ini pada dasarnya adalah permutasi dari delapan bit byte (tidak masalah dari mana kita mulai menghitung, karena polanya simetris):
- Bit 0 dipindahkan ke bit 2
- Bit 1 dipindahkan ke bit 0
- Bit 2 dipindahkan ke bit 4
- Bit 3 dipindahkan ke bit 1
- Bit 4 dipindahkan ke bit 6
- Bit 5 dipindahkan ke bit 3
- Bit 6 dipindahkan ke bit 7
- Bit 7 dipindahkan ke bit 5
Untuk kenyamanan, berikut adalah tiga representasi permutasi lainnya. Sebagai sebuah siklus:
(02467531)
Sebagai pemetaan:
57361402 -> 76543210 -> 64725031
Dan sebagai daftar pasangan pemetaan:
[[0,2], [1,0], [2,4], [3,1], [4,6], [5,3], [6,7], [7,5]]
Setelah 8
tenun, byte pada dasarnya direset.
Misalnya, menenun nomor 10011101
(yang ada 157
di basis 10) akan menghasilkan 01110110
(yang ada 118
di basis 10).
Memasukkan
Hanya ada 256
input yang valid, yaitu semua bilangan bulat di antara 0
dan 255
inklusif. Itu dapat diambil dalam basis apa pun, tetapi harus konsisten dan Anda harus menentukannya jika basis yang Anda pilih bukan basis sepuluh.
Anda tidak boleh memasukkan input dengan benar.
Keluaran
Anda harus menampilkan hasil dari bit weaving, dalam basis apa pun, yang juga harus konsisten dan ditentukan jika bukan basis sepuluh.
Anda dapat mem-pad-out output Anda.
Terkait: Visualisasikan Bit Weaving