หมายเหตุ: ในช่วงครึ่งแรกของความท้าทายนี้มาจากความท้าทายก่อนหน้านี้มาร์ตินพลิก, เห็นภาพบิตทอผ้า
ความชั่วร้ายของการเขียนโปรแกรมภาษาลึกลับมีการดำเนินการที่น่าสนใจเกี่ยวกับค่าไบต์ซึ่งเรียกว่า "การทอผ้า"
มันคือการเปลี่ยนรูปแบบของบิตที่แปดของไบต์ (ไม่สำคัญว่าเราจะเริ่มนับจากจุดสิ้นสุดเมื่อรูปแบบสมมาตร):
- บิต 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
รวม ที่อาจนำมาในฐานใด ๆ แต่จะต้องสอดคล้องและคุณต้องระบุหากฐานที่คุณเลือกไม่ได้ฐานสิบ
คุณไม่สามารถป้อนข้อมูลของคุณเป็นศูนย์ได้
เอาท์พุต
คุณควรส่งออกผลลัพธ์ของการทอผ้าบิตในฐานใด ๆ ซึ่งจะต้องสอดคล้องและระบุถ้าไม่ฐานสิบ
คุณอาจ zero-pad เอาท์พุทของคุณ
ที่เกี่ยวข้อง: เห็นภาพการทอผ้าบิต