Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
5283 connectés 

 


Dernière réponse
Sujet : [C] Filtrer un nombre en hexa
la viper 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.

Votre réponse
Nom d'utilisateur    Pour poster, vous devez être inscrit sur ce forum .... si ce n'est pas le cas, cliquez ici !
Le ton de votre message                        
                       
Votre réponse


[b][i][u][strike][spoiler][fixed][cpp][url][email][img][*]   
 
   [quote]
 

Options

 
Vous avez perdu votre mot de passe ?


Vue Rapide de la discussion
la viper 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.
LetoII 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 :)
koulip31 la je cpaiche mieux
youdontcare

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++)  



koulip31

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]

la viper 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++)
koulip31 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
oroumov 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.

Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)