Discussion:Brainfuck

Une page de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Autres discussions [liste]
  • Suppression -
  • Neutralité -
  • Droit d'auteur -
  • Article de qualité -
  • Bon article -
  • Lumière sur -
  • À faire -
  • Archives

Spoon sans espace[modifier le code]

Je n'ai pas compris comment le spoon peut s'écrire sans espace, car il me semble que cela provoque des ambiguïtés à la lecture. Merci de compléter. domsau2 (d) 30 janvier 2011 à 18:24 (CET)

Aucune ambiguïté. Par exemple, si le premier bit est un 0 suivi d'un 1, il s'agit soit de < soit de >, donc exactement 3 bits, donc l'instruction suivante commance au 4ème bit.
Si on commence par un double 0 suivi d'un 1, le nombre de 0 qui suit est unique. On connait donc toujours la taille d'un instruction, donc où commence l'instruction suivante.
Je m'exprime peut-être mal, mais il suffit de tenter de décoder la suite illisible de 0 et de 1, on voit bien qu'il n'existe pas 36 000 possibilités, mais une seule.
Epok (d) 17 avril 2011 à 16:48 (CEST)
Les suites de bits n'ont pas été choisies au hasard :
Si on les classe dans l'ordre on obtient :
000
00100
001010
0010110
0011
010
011
1
Soit un arbre permettant la lecture des bits de gauche à droite :
1er bit 2e bit 3e bit 4e bit 5e bit 6e bit 7e bit Instruction
0 0 0 -
1 0 0 [
1 0 .
1 0 ,
1 ]
1 0 >
1 <
1 +
Voir Codage entropique, Codage de Huffman et Codage de Shannon-Fano.
--DavidL (d) 12 octobre 2011 à 19:07 (CEST)