Bonjour,

Je pense que je vais devoir plonger dans un mixe C++/ASM, mais le forum le plus approprié me parait être celui-ci .

Alors voila, je voudrais récupérer le bit de signe d'un entier. Ma première idée était de faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
 
bool bit_de_signe = monEntier <<1; //BIGENDIAN
Problème, je ne récupère pas le bit de signe, mais je le perds justement (remémoration de mes cours d'ASM en DUT ~7ans ).

Du coup je voulais savoir si je peux récupérer le flag qui récupère ce bit ? J'ai vu que c'était le flag CF.

En fait je voudrais savoir si y a une manière "simple" et surtout efficace de le faire ...

Explication :
Au lieux de faire
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
for(...)
{
     if( maVar==-1 )
        X = val_0;
     else if( maVar ==1 )
        X = val_1;
     else
        X = val_2;
}
Je comptais faire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
int conv[]={val_1, val_2}
for(...)
    X=(bitSign==true)?val_0:conv[maVar]
Le problème de de récupéré efficacement le bit de signe pour que ma méthode illisible soit elle même efficace ...

Merci d'avance.