Bonjour,
Soit le code suivant:
Cela affiche -60.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 unsigned int a = 10; int b = -6; int tmp; tmp = a * b; printf("%d\n", tmp);
Mais il me semble que b est converti en unsigned et devient donc très grand, et que ce code fonctionne parce que mon compilateur utilise la représentation en complément à 2.
Est-ce que c'est correct ? Est-il raisonable d'assumer que la majorité des machines et compilateurs actuels utilisent cette représentation ?
Partager