Tu peux te permettre de dire que 00=0 et 01=1 et 10=2 et 11=3 est une notation au même titre que 00=0 et 01=1 et 11=2 et 10=3 mais il y a une subtilité.
Dans la notation usuelle, on peut passer d'une base à une autre très simplement. Par exemple 10 en base 2, c'est (1*2^1 +0*2^0) en base 10, soit le nombre 2 dans les deux cas. Ici, nos symboles correspondent aux concepts de nos nombres et c'est pratique.
Pour 10=3, "3" ne représente pas le nombre 3 mais juste un symbole. Là, on se complique la vie car ça représente toujours le nombre 2. Dans l'absolu, tu peux écrire 10=K où "K" est un autre symbole qui représente ton nombre 2.
En gros, ça sert à rien puisque tu changes juste tes symboles.
Ben non, c'est pareil en fait.
Tu ne réalises pas d'opération quand tu fais 11, 10, 01 ou 00. C'est juste la concaténation de symboles pris dans ton alphabet (ici en base 2, ton alphabet ne contient que deux symboles).
Un symbole en vaut un autre et il ne contient pas d'opération. Il peut juste prendre au choix chacun des symboles de ton alphabet. Tes symboles doivent par contre être indépendants entre eux et si tu en bouges un, les autres ne sont pas affectés. Par exemple chaque "1" de 1111 est stocké dans un espace mémoire indépendant des autres. Si je bouge le premier pour le passer à "0", j'ai alors 0111.
Toi, tu considères que les symboles ne sont pas indépendants entre eux ("recherche(11), ça coûte autant que recherche(1)" selon toi). Tu introduits de la redondance sans même t'en rendre compte et quand tu penses faire mieux, c'est juste parce que t'en fais moins en fait
.
Il y a 10 types de personnes dans le monde : ceux qui savent compter en binaire et les autres
...
Partager