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

 


Dernière réponse
Sujet : conversion int->char
HelloWorld je comprend pas ta question ...
 
char lettre_A = 65;
 
est identique a  
 
char lettre_A = 'A';
 
ensuite ton probleme de
 
char a=216;
int b=a; et b=-40
 
vient du fait que tu travail en nombre signé
en clair ton char va de 0 à 128, puis c'est -127,-126,-125 ...
donc ton 216 est en fait considere comme un -40
 
la solution est tres simple
 
unsigned char a;
 
a la place de ton  
 
char a;
 
la conversion int -> char est, elle, imédiate

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
HelloWorld je comprend pas ta question ...
 
char lettre_A = 65;
 
est identique a  
 
char lettre_A = 'A';
 
ensuite ton probleme de
 
char a=216;
int b=a; et b=-40
 
vient du fait que tu travail en nombre signé
en clair ton char va de 0 à 128, puis c'est -127,-126,-125 ...
donc ton 216 est en fait considere comme un -40
 
la solution est tres simple
 
unsigned char a;
 
a la place de ton  
 
char a;
 
la conversion int -> char est, elle, imédiate
braisik c'est vrai, ca marche mais cependant ca ne fonctionne pas pour tous les caractères ASCII!!!
En effet, par exemple, qd on fait char a(216) on obtient alors Ø comme prévu.
Mais si on fait int b=a, alors on obtient b=-40!!!! Il n'y a donc pas de bijection ce qui est problématique quand on on doit faire la conversion int->char puis char->int, sans qu'il y ait corruption des données...
 
Comment faire??
electricblue Si je me rappelle bien, c la fonction char(n) tt simplement, avec n ton chiffre.
braisik j'ai un tableau de int (chaque int allant de 0 à 255) et pour chacun de ces int je souhaiterai obtenir le char ascii correspondant.  
 
Ex pour int 65 j'aimerai obtenir char A...
 
Au fait, tout ceci en C++ ;)

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