Wise ou not wise là est la question.
Je me demandais... sur le fonctionnement primaire de nos petites machines. 1+ 1 = 10, c'est bien connu mais comment c'est compet avec les opérateurs bit-wises (and, or, not, xor) qui sont fondamentalement toutes les opérations que peuvent faire notre ordi.
Je me souviens par exemple que notre ordinateur pour arriver a soustraire un nombre d'un autre nombre fait une addition:
Reponse = ~(~Nombre1 + Nombre2) ;
essayez ça fonctionne très bien
<pre>
#include "stdio.h"
void OutBinairy(int Val);
int main(int argc, char* argv[])
{
int n1 = 43;
int n2 = -43;
int rep = ~(~n1+n2);
printf("\n");
OutBinairy(n1);
printf("\n");
OutBinairy(n2);
printf("\n");
OutBinairy(rep);
printf("\n");
printf("%d - %d = %d\n",n1,n2,rep);
return 0;
}
void OutBinairy(int Val)
{
for(int i=16-1;i>=0;i--)
if((Val>>i)&0x1)
printf("1");
else
printf("0");
}
</pre>
Bon ici j'essaie avec 43 et -43 pas beaucoup de rigueure mais c'est juste pour que vous voyez que 43 = ~43+1 en format binaire.
Alors ce que je cherche c'est comment ont fait l'addition sans se servir du + (et évidement encore moins du -) ce qui je l'avoue me mystifie. Je suis capable de le faire étape par étape, mais alors c'est une boucle à moins que j'aie une lookup table aussi grande que sizeof(type_a_adittionner)²
Pourtant bien des processeur font a+b en un coup de clock.
(ensuite se sera de trouver comment les DSP font leurs multiplications en un coup de clock:-)
MeltedMind
[...]selon laquelle notre plus grosse erreur avait été de descendre des arbres.