Примітка: перша половина цього виклику виходить з попереднього виклику Мартіна Ендера - Visualize Bit Weaving .
Езотерична мова програмування зла має цікаву операцію над значеннями байтів, які вона називає "плетінням".
По суті це перестановка восьми біт байта (не має значення, з якого кінця ми почнемо рахувати, оскільки шаблон є симетричним):
- Біт 0 переміщується в біт 2
- Біт 1 переміщено в біт 0
- Біт 2 переміщується в біт 4
- Біт 3 переміщений в біт 1
- Біт 4 переміщено в біт 6
- Біт 5 переміщується в біт 3
- Біт 6 переміщений в біт 7
- Біт 7 переміщений в біт 5
Для зручності тут представлені три інші зображення перестановки. Як цикл:
(02467531)
Як відображення:
57361402 -> 76543210 -> 64725031
І як список пар відображення:
[[0,2], [1,0], [2,4], [3,1], [4,6], [5,3], [6,7], [7,5]]
Після 8
плетіння байт по суті скидається.
Наприклад, виткане число 10011101
(яке знаходиться 157
в основі 10) призведе до отримання 01110110
(що є 118
в основі 10).
Вхідні дані
Існують лише 256
дійсні входи, а саме всі цілі числа між 0
та 255
включно. Це може бути прийнято в будь-якій базі, але воно повинно бути послідовним, і ви повинні вказати його, якщо обрана вами база не є десятою базовою.
Ви не можете занурювати свої дані.
Вихідні дані
Ви повинні вивести результат переплетення бітів у будь-яку основу, яка також повинна бути узгодженою та вказаною, якщо не базовою десятою.
Ви можете занурити свої результати.
Пов'язане: Візуалізація бітового ткацтва