Jest to stycznie związane z moim dążeniem do wynalezienia ezoterycznego języka programowania .
Tabela liczb binarnych 0 .. 15 może być wykorzystana do implementacji Universal Binary Function przy użyciu operacji indeksowania. Biorąc pod uwagę dwa 1-bitowe wejścia X i Y, wszystkie 16 możliwych funkcji można zakodować w 4-bitowym kodzie operacyjnym.
X Y F|0 1 2 3 4 5 6 7 8 9 A B C D E F
- - - - - - - - - - - - - - - - - -
0 0 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1
0 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0 1 1
1 0 0 0 0 0 1 1 1 1 0 0 0 0 1 1 1 1
1 1 0 0 0 0 0 0 0 0 1 1 1 1 1 1 1 1
- - - - - - - - -
0 ~X ~Y ^ & Y X | 1
ZERO NOT-Y AND OR
NOT-X XOR ONE
Tak więc ten zestaw 16 funkcji można zastosować do wejść binarnych jako funkcję
U (f, x, y): (f >> ((x << 1) | y)) i 1 ,
lub
U (f, x, y): (f / 2 ^ (x × 2 + y))% 2 ,
lub z indeksowaniem lub partycjonowaniem macierzy.
Przydatna będzie znajomość najbardziej kompaktowego sposobu reprezentowania lub generowania takiej tabeli wartości dla dowolnych języków, które można zbudować na tego typu operacji binarnej.
Cel:
Wygeneruj ten dokładny wynik tekstowy:
0101010101010101
0011001100110011
0000111100001111
0000000011111111
Otóż to! Zwycięża najkrótszy kod.