Ceci est tangentiellement lié à ma quête pour inventer un langage de programmation ésotérique .
Un tableau des nombres binaires 0 à 15 peut être utilisé pour implémenter une fonction binaire universelle à l'aide d'opérations d'indexation. Étant donné deux entrées X et Y 1 bit, les 16 fonctions possibles peuvent être encodées dans un opcode 4 bits.
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
Donc, cet ensemble de 16 fonctions peut être appliqué aux entrées binaires comme fonction
U (f, x, y): (f >> ((x << 1) | y)) & 1 ,
ou
U (f, x, y): (f / 2 ^ (x × 2 + y))% 2 ,
ou avec indexation ou partitionnement matriciel.
Il sera utile de connaître la manière la plus compacte de représenter ou de générer une telle table de valeurs pour tout langage possible à construire sur ce type d'opération binaire.
Le but:
Générez cette sortie de texte exacte:
0101010101010101
0011001100110011
0000111100001111
0000000011111111
C'est ça! Le code le plus court gagne.