Filtrer un nombre en hexa [C] - Programmation
Marsh Posté le 10-11-2001 à 18:30:35
char ton_nombre_hexa[3]
char nobre_hexa_trans[3]
nht[0] = tnh[2];
nht[1] = tnh[3];
nht[2] = tnh[0];
nht[3] = tnh[1];
et
....basta
Marsh Posté le 10-11-2001 à 19:15:35
short value;
byte result1,result2;
result1 = value && 00FF;
value = value >> 2;
result2 = value && 00FF;
c'est du free style mais ca devrait fonctionner (en C/C++)
Marsh Posté le 10-11-2001 à 19:28:50
la viper a écrit a écrit : short value; byte result1,result2; result1 = value && 00FF; value = value >> 2; result2 = value && 00FF; c'est du free style mais ca devrait fonctionner (en C/C++) |
peut tu detailler plus car je capiche pas trop le principe
tu fait un mask tu decal le tout mais apres tu remasque donc ca derais chier non?
[edtdd]--Message édité par koulip31--[/edtdd]
Marsh Posté le 10-11-2001 à 19:31:27
la viper a écrit a écrit : short value; byte result1,result2; result1 = value && 00FF; value = value >> 8; result2 = value && 00FF; c'est du free style mais ca devrait fonctionner (en C/C++) |
Marsh Posté le 10-11-2001 à 22:14:39
Y a encore plus simple sans utiliser d'opérateur de décallage mais ça dépent vachement de la représentation mémoire des variables sur la machine:
short nombre;
char res1,res2,*temp;
temp=(char *)&nombre;
res1=temp[0];
res2=temp[1];
mais la solution précédente est mieu quand même
Marsh Posté le 11-11-2001 à 03:02:19
bon il est tard là .. hum
short value = 0xFF26;
byte result1,result2;
result1 = value <b>&</b> 0x00FF;
/*je masque pour etre sur de ma valeur soit : 0x0026, comme short vaut 8 bits -> result1 = 0x26*/
value = value >> <b>8</b>;
/*je decale mon hexa de 8 bits vers la droite, sorry pour le 2, j'avais bu et j'ai donc 0xXXFF*/
result2 = value <b>&</b> 0x00FF;
/*je masque par securité, rigueur et methode (comme disait mon prof), et comme result2 est sur 1 octet j'ai 0xFF*/
voilou.
Marsh Posté le 10-11-2001 à 18:15:34
J'ai un nombre en hexa, mettons FF26 (toujours 4 caracteres au maximum).
Je cherche a le filtrer pour le scinder en deux pour obtenir d'un cote FF, de l'autre 26. Il me faudrait deux strings ce serait facile, mais la il faut que je recupere FF et 26 comme deux hexa.
Ca doit etre tout bete mais je vois pas.
Qqun aurait-il une solution ?
Merci.