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

  FORUM HardWare.fr
  Programmation
  C++

  [C] int et UINT16

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] int et UINT16

n°138116
prettysmil​e
Sourire est un devoir social
Posté le 13-05-2002 à 11:07:34  profilanswer
 

j ai une fonction standard qui en parametre prend deux int * et les compare.
Sur un programme j ai 2 UINT16* et je dois utiliser cette fonction.  
Puis-je passer a ma fonction les UINT16* castes(version bourrin)  en int* ET etre sure du resultat de comparaison?

mood
Publicité
Posté le 13-05-2002 à 11:07:34  profilanswer
 

n°138121
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-05-2002 à 11:14:25  profilanswer
 

si tu castes un UINT16 (16 bits) en int (32 bits), la comparaison sur les 16 bits de poids fort de ton UINT16 sera aléatoire, car tu ne sais pas ce que ces bits contiennent (au mieux, ce seront des "0", mais c'est pas sur)


---------------
J'ai un string dans l'array (Paris Hilton)
n°138125
prettysmil​e
Sourire est un devoir social
Posté le 13-05-2002 à 11:17:02  profilanswer
 

et t as pas une idee pour un caste plus subtil?

n°138137
LetoII
Le dormeur doit se réveiller
Posté le 13-05-2002 à 11:21:28  profilanswer
 

Si tu cast en unsigned int ce sera obligatoirement des 0 si tu caste en signed il va te foutre des 1


---------------
Le Tyran
n°138144
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-05-2002 à 11:27:38  profilanswer
 

letoII a écrit a écrit :

Si tu cast en unsigned int ce sera obligatoirement des 0 si tu caste en signed il va te foutre des 1  




T'es sur ? Il caste un UINT16* en int* donc il fait pointer son pointeur sur 4 octets au lieu de 2. Ce ne sont pas les valeurs qu'il caste, mais les pointeurs.


---------------
J'ai un string dans l'array (Paris Hilton)
n°138180
prettysmil​e
Sourire est un devoir social
Posté le 13-05-2002 à 12:55:14  profilanswer
 

Harkonnen a écrit a écrit :

 
T'es sur ? ELLE caste un UINT16* en int* donc ELLE fait pointer son pointeur sur 4 octets au lieu de 2. Ce ne sont pas les valeurs qu'il caste, mais les pointeurs.  




 
 :sweat:  d apres toi, vaudrait mieux que je copie le contenu de mes uint16* a la mano vers des int*?

n°138185
LetoII
Le dormeur doit se réveiller
Posté le 13-05-2002 à 13:09:22  profilanswer
 

Harkonnen a écrit a écrit :

 
T'es sur ? Il caste un UINT16* en int* donc il fait pointer son pointeur sur 4 octets au lieu de 2. Ce ne sont pas les valeurs qu'il caste, mais les pointeurs.  




 
Autant pour moi, lire jusqu'au bout les trucs :)
Effectivement s'il fait un caste sur un pointeur ça va faire nimporte quoi.


---------------
Le Tyran
n°138212
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-05-2002 à 14:08:04  profilanswer
 

prettysmile a écrit a écrit :

 
 
 :sweat:  d apres toi, vaudrait mieux que je copie le contenu de mes uint16* a la mano vers des int*?  




Je pense que ce serait préférable. Pour chaque UINT16* tu fais un malloc(4) puis tu copies tes *UINT16 dans cet espace
 
N'oublie pas de faire un free() de cet espace à la fin de ton prog.
 
Désolé de t'avoir pris pour un mec, mademoiselle  :hello:

 

[jfdsdjhfuetppo]--Message édité par Harkonnen le 13-05-2002 à 14:09:24--[/jfdsdjhfuetppo]


---------------
J'ai un string dans l'array (Paris Hilton)
n°138216
prettysmil​e
Sourire est un devoir social
Posté le 13-05-2002 à 14:14:16  profilanswer
 

ok, merci.

n°138247
LetoII
Le dormeur doit se réveiller
Posté le 13-05-2002 à 15:43:15  profilanswer
 

pas malloc(4)
malloc(sizeof(int))
C'est plus portable


---------------
Le Tyran
mood
Publicité
Posté le 13-05-2002 à 15:43:15  profilanswer
 

n°138251
Harkonnen
Modérateur
Un modo pour les bannir tous
Posté le 13-05-2002 à 15:49:18  profilanswer
 

letoII a écrit a écrit :

pas malloc(4)
malloc(sizeof(int))
C'est plus portable  




Exact :jap:


---------------
J'ai un string dans l'array (Paris Hilton)

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

  [C] int et UINT16

 

Sujets relatifs
Plus de sujets relatifs à : [C] int et UINT16


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