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

  FORUM HardWare.fr
  Programmation
  Java

  Ecriture hexadécimale d'un nombre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Ecriture hexadécimale d'un nombre

n°267791
El_gringo
Posté le 12-12-2002 à 10:44:17  profilanswer
 

Le truc, c'est que je fais un masque binaire pour récupérer la partie haute et la partie basse d'un int.
du coup je vais faire un masque binaire
je voudrais faire ça (la syntaxe, justement, est incorrecte !):

Code :
  1. int iHighPart = iMyInt & 0xFFFF0000; //(en C, c comme ça, on fout 0x devant)
  2. int iLowPart  = iMyInt & 0x0000FFFF; //(en hexa)

mood
Publicité
Posté le 12-12-2002 à 10:44:17  profilanswer
 

n°267793
El_gringo
Posté le 12-12-2002 à 10:45:10  profilanswer
 

Je sais bien que pourrais convertir mes masques en décimale, mais c'est qd même carrrément moins joliet moins compréhensible !

n°267810
El_gringo
Posté le 12-12-2002 à 11:04:09  profilanswer
 

ça doit bien exister aussi cette possibilité de notation en Java, non ?

n°267813
darklord
You're welcome
Posté le 12-12-2002 à 11:06:34  profilanswer
 

Integer.toHexaString()?  :)
 


---------------
Just because you feel good does not make you right
n°267815
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 12-12-2002 à 11:09:01  profilanswer
 

El_Gringo a écrit :

ça doit bien exister aussi cette possibilité de notation en Java, non ?


 
Bin ouais, c'est la même :D


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°267838
El_gringo
Posté le 12-12-2002 à 11:18:13  profilanswer
 

DarkLord a écrit :

Integer.toHexaString()?  :)


 
...Allons Dark, j'vais pas appliquer un masque binaire sur un String  :pfff:

n°267841
El_gringo
Posté le 12-12-2002 à 11:18:53  profilanswer
 

Taiche a écrit :


 
Bin ouais, c'est la même :D


 
Ha ouais... c'est con, j'avais mis un O à la place d'un 0 :D

n°267848
darklord
You're welcome
Posté le 12-12-2002 à 11:21:57  profilanswer
 

El_Gringo a écrit :


 
...Allons Dark, j'vais pas appliquer un masque binaire sur un String  :pfff:  


 
bin désolé hein. Ta question est pas claire du tout donc j'essaie de comprendre ce que tu veux dire ...


---------------
Just because you feel good does not make you right
n°267849
darklord
You're welcome
Posté le 12-12-2002 à 11:22:14  profilanswer
 

El_Gringo a écrit :


 
Ha ouais... c'est con, j'avais mis un O à la place d'un 0 :D


 
 :sarcastic:


---------------
Just because you feel good does not make you right
n°267850
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 11:22:17  profilanswer
 

El_Gringo a écrit :

Ha ouais... c'est con, j'avais mis un O à la place d'un 0 :D


Là je me permet d'intervenir : [:tapai]


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
mood
Publicité
Posté le 12-12-2002 à 11:22:17  profilanswer
 

n°267857
El_gringo
Posté le 12-12-2002 à 11:24:21  profilanswer
 

DarkLord a écrit :


 
bin désolé hein. Ta question est pas claire du tout donc j'essaie de comprendre ce que tu veux dire ...


 
Ben avec la ligne de code que j'ai mis, ça apparaissait qd même clairement.
Mais merci qd même hein :D

n°267859
El_gringo
Posté le 12-12-2002 à 11:25:04  profilanswer
 

gm_superstar a écrit :


Là je me permet d'intervenir : [:tapai]


 
Oui, frappe moi, je le mérite ! [:iznogoud_23]

n°267863
gm_superst​ar
Appelez-moi Super
Posté le 12-12-2002 à 11:26:47  profilanswer
 
n°267894
El_gringo
Posté le 12-12-2002 à 11:42:50  profilanswer
 

Raaah, mais en fait j'arrive pas à faire ce que je veux faire.
C'est en C, mais bon, c exactement la même chose qu'en Java :
inverser la partie haute et la partie passe d'un int.
Donc : passer les 4 premier octets en dernier et les 4 derniers en 1er. De sorte que 0xAB802453 devienne 0x2453AB80 (c pour un codage).
J'extrait la partie haute et la partie basse comme dans mon 1er post, mais, et après ?

n°267896
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 12-12-2002 à 11:44:49  profilanswer
 

El_Gringo a écrit :

Raaah, mais en fait j'arrive pas à faire ce que je veux faire.
C'est en C, mais bon, c exactement la même chose qu'en Java :
inverser la partie haute et la partie passe d'un int.
Donc : passer les 4 premier octets en dernier et les 4 derniers en 1er. De sorte que 0xAB802453 devienne 0x2453AB80 (c pour un codage).
J'extrait la partie haute et la partie basse comme dans mon 1er post, mais, et après ?


 
Ba euh... ajoute-les ? :heink:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°267901
El_gringo
Posté le 12-12-2002 à 11:47:41  profilanswer
 

Taiche a écrit :


 
Ba euh... ajoute-les ? :heink:


 
Ben, non. Dans ce cas, les ajouter, ça va faire le même chose qu'un OU binaire : ça va reconstituer mon chiffre d'origine sans inverser quoi que ce soit !

n°267906
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 12-12-2002 à 11:49:52  profilanswer
 

Ah oké, d'accord. Bin fais un décalage de bits, alors, via les opérateurs >> et <<


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°267909
El_gringo
Posté le 12-12-2002 à 11:55:41  profilanswer
 

Taiche a écrit :

Ah oké, d'accord. Bin fais un décalage de bits, alors, via les opérateurs >> et <<


 
Ouais, c'est surement ça, mais j'arrive pas à voir le truc.
Là j'ai fais ça :

Code :
  1. long lHighPart = _l & 0xFFFF0000;
  2.     cout << "\nHighPart : " << lHighPart;
  3.     long lLowPart  = _l & 0x0000FFFF;
  4.     cout << "\nLowPart  : " << lLowPart;
  5.     long lToReturn = lHighPart << 16;
  6.     lToReturn     |= lLowPart;


 
ms je sais que c une connerie... :sweat:

n°267915
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 12-12-2002 à 11:58:37  profilanswer
 

El_Gringo a écrit :


 
Ouais, c'est surement ça, mais j'arrive pas à voir le truc.
Là j'ai fais ça :

Code :
  1. long lHighPart = _l & 0xFFFF0000;
  2.     cout << "\nHighPart : " << lHighPart;
  3.     long lLowPart  = _l & 0x0000FFFF;
  4.     cout << "\nLowPart  : " << lLowPart;
  5.     long lToReturn = lHighPart << 16;
  6.     lToReturn     |= lLowPart;


 
ms je sais que c une connerie... :sweat:  


 
Pourquoi tu décales de 16 ? Décale de 8, ça suffit, nan ?
 
EDIT : ah nan, j'ai menti :D Bin en tout cas, t'oublies un morceau :
long lToReturn = (lHighPart << 16) + (lLowPart >> 16);


Message édité par Taiche le 12-12-2002 à 12:07:47

---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°267933
El_gringo
Posté le 12-12-2002 à 12:08:09  profilanswer
 

Taiche a écrit :


 
Pourquoi tu décales de 16 ? Décale de 8, ça suffit, nan ?


 
C'est sur 32 bits un int...
Mais j'ai la solution :
http://forum.hardware.fr/forum2.ph [...] ubcat=#bas
C'est pas si loin de mon truc...

n°267940
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 12-12-2002 à 12:10:56  profilanswer
 

Bon, j'viens d'faire un prog rapide pour tester. Alors le code que j'ai fait et qui marche pas mal c'est :

Code :
  1. int a = 8748530; // 857DF2;
  2.        
  3.         int aLow = a & 0x0000FFFF;
  4.         int aHigh = a & 0xFFFF0000;
  5.         System.out.println(Integer.toHexString(aLow) + " ; " + Integer.toHexString(aHigh));
  6.         aLow = aLow << 16;
  7.         aHigh = aHigh >> 16;
  8.         System.out.println(Integer.toHexString(aLow) + " ; " + Integer.toHexString(aHigh));


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
n°267953
El_gringo
Posté le 12-12-2002 à 12:21:22  profilanswer
 

c'était déja bon sur le topic parallèle.  
Merci...

n°267958
Taiche
(╯°□°)╯︵ ┻━┻
Posté le 12-12-2002 à 12:24:26  profilanswer
 

El_Gringo a écrit :

c'était déja bon sur le topic parallèle.  
Merci...


 
Nan, c'était bon après ; j'ai posté à 12h10 et l'autre à 12h17  [:xp1700]  
 
/me pawa :sol:


---------------
Everyone thinks of changing the world, but no one thinks of changing himself  |  It is the peculiar quality of a fool to perceive the faults of others and to forget his own  |  Early clumsiness is not a verdict, it’s an essential ingredient.
mood
Publicité
Posté le   profilanswer
 


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Java

  Ecriture hexadécimale d'un nombre

 

Sujets relatifs
[C] Nombre Enormeconseil ecriture commande mysql
Delphi 4 + BD : Un moyen pour avoir des nombre vraiment long[DELPHI] comment connaitre le nombre d'élément dans une...
prb pour l'ecriture d'une methode en sql3 :(fonction qui dit si un nombre est decimal
fonctions C avec nombre infini d'argument[Java] Ecriture/Lecture fichier.[RESOLU]
Probléme d'accés en écriture a une base de donnée sous Win XpNombre de requete pour l'affichage d'un forum : Normes?
Plus de sujets relatifs à : Ecriture hexadécimale d'un nombre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR