Se qui me laisse perplexe c que g tjrs lu que le C utilise un ordre de priorité, et lisait de gauche a droite..
Donc :
if ((chgmt += (xx++) + xx) >= 0)
=
1 -> xx++
2 -> chgmt += xx
3 -> chgmt += xx
4 -> chgmt >= 0
Voir plus simple :
1 -> xx++
2 -> chgmt += xx*2
4 -> chgmt >= 0
On pourrait donc changer le code en :
if ((chgmt += ((xx++) * 2 )) >= 0)
ou
if ((chgmt += ((xx++) << 1)) >= 0)

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Oui, mais il faut que GCC optimise correctement en mettant une addition.
À mon avis c'est mieux de laisser un *2 (ça je sais qu'il l'optimise, mais un <<1, je ne suis pas sûr...).
Tout a fait d'accord avec toi Ximoon !
Sinon je voit pas l'interet de mettre des () !

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
C'est testé aussi sous VS et ca marche ... donc pas que gcc thibaut
argh... resister... haaannn....
In many respects the Yoshi is like a beautiful woman. A man can come so enamoured that he bestows on her all his time, his energy and his fortune.
- Fred whipple, 1960
*** Ne sous-estimez pas la puissance de la Marmotte ***
©
Marmotte Team : LaMarmotte, sBibi, Vark & Sabrina
Pour moi,
if ((chgmt += ((xx++) << 1)) >= 0)est à éviter, ça rend le code moins lisible pour le même résultat que if ((chgmt += ((xx++) * 2 )) >= 0).

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
>priorité d'interprétation != ordre d'exécution !
Ben alors si le compilo utilise une prio d'interprétation != de celle d'execution
YA UN GROS PROBLEME ALORS !!!

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
C'est ce qui est prévu par le standard C!!!
Quel interet d'un ordre d'interpretation alors ????
Je vois pas
Et il me semble pas avoir lu dans la "bible" du C que l'interpretation et l'execution pouvait etre différente.
Perso si un compilo compile différenement se qu'il interprete² c qu'il y a un pbm

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
Thibaut: tu as tout à fait raison, mais pour toi, c'est aussi lisible maintenant nan? idem pour les personnes qui connaissent un peu ces manips
Ba suffit de connaitre un peu la base 2 et de savoir que << est un décalage a gauche
Pas besoin d'etre sorcier pour comprendre que
<<1 = *2
et
>>1 = /2

Proud to be CAKE©®™
GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.
TiMad Le 08/03/2003 à 15:36 NON gcc n'otpimisera pas forcement...
<< != *2 !!!!!!!!!!!!!
vous avez fumé du chichon!
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
TiMad Le 08/03/2003 à 15:50 [edit]*2 c'est pour quand on veut faire une multiplication
<<1 c'est pour quand on veut faire un décalage
Ca revient au même, mais utiliser la bonne instruction pour chaque besoin (dont le résultat est le même, ok) c'est plus clair. [/edit]
pas du tout..
essaye avec un signé
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!
en effet, puis même, le décalage prend plus de place !
donc à ne pas utiliser si on en a pas besoin
TiMad Le 08/03/2003 à 17:43 ?????
et le bit de signe il revient ou??
#confu#
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!