sous linux, glibc-2.2.x, gcc, bla bla bla ... :
Code :
- unsigned char get_upper_bit (unsigned short data) {
- char *temp=NULL;
- unsigned char ret;
-
- temp = (char *) &data;
- ret = *temp;
- return ret;
- }
- unsigned char get_lower_bit (unsigned short data) {
- char *temp=NULL;
- unsigned char ret;
-
- temp = (char *) &data;
- ret = *++temp;
- return ret;
- }
|
mon but est de séparer le 1er et le 2ème bit d'un short de manière correct, cad ke ce ke je doit avoir est un octet contenant le 1er bit et un autre octet contenant le 2ème bit, pour pouvoir être envoyer d'en une fonction ki a un prototype de ce genre :
Code :
- char ma_fonction (unsigned char data1, unsigned char data2);
|
j'ai bien essayé ça :
Code :
- ma_fonction ((unsigned char) mon_short % 256, (unsigned char) mon_short >> 8);
|
mais ça couille sur le 2ème et me donne data2 = 0
alors, mes deux fonctions sont elle "correct" au sens manière d'écrire, transgression de règles, etc ... ?
(le compilo ne fait pas de warning et le resultat est bon)
Message édité par Deadog le 25-07-2003 à 18:05:17