참고 :이 과제의 전반부는 Martin Ender의 이전 과제 인 Visualize Bit Weaving 에서 비롯되었습니다 .
난해한 프로그래밍 언어 인 악 은 "위빙 (weaving)"이라고하는 바이트 값에 대한 흥미로운 연산을 가지고 있습니다.
그것은 본질적으로 바이트의 8 비트의 순열입니다 (패턴이 대칭이기 때문에 어떤 끝에서 계산을 시작하는지는 중요하지 않습니다).
- 비트 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
포함은. 어떤베이스에서도 가져갈 수 있지만 일관성이 있어야하며 선택한베이스가 10이 아닌 경우 지정해야합니다.
입력을 제로 패딩 할 수 없습니다 .
산출
모든베이스에서 비트 위빙의 결과를 출력해야하며,베이스 10이 아닌 경우 일관되고 지정되어야합니다.
출력을 제로 패딩 할 수 있습니다 .
관련 : 비트 제직 시각화