Bonjour,
Pour convertir un int qui dépasse 255 en byte, il suffit de faire un cast.
exp :
int i = 10587;
byte b = (byte) i;
b aura la valeur "91".
Comment obtenir le "10587" à partir de "91" ?
Merci
Bonjour,
Pour convertir un int qui dépasse 255 en byte, il suffit de faire un cast.
exp :
int i = 10587;
byte b = (byte) i;
b aura la valeur "91".
Comment obtenir le "10587" à partir de "91" ?
Merci
Lorsque tu castes un int en byte, tu perds les bits de poids fort (puisque tu ne gardes que les 8 bits de poids faible). Et comme tout ce qui est perdu, c'est... perdu.
Dit autrement, ce n'est pas possible de retrouver ton 10587 à partir de 91.
Explique nous ce que tu veux faire, il y a peut etre un autre moyen...
Slt
Tu pourrais le convertir en un tableau de byte http://www.dzone.com/snippets/convert-int-byte-array, ça peut être utiliser pour la sauvegarde dans un fichier par exemple, sinon, c'est clair qu'il y aura une perte de données. Le byte est codé sur 8 bit (1 octet), donc 2^8 = 256, peut varier de -128 jusqu'à 127.
Tant dit que int est codé sur 32 bit (4 octet), peut varier-231≈-2,147×109 jusqu'à +231-1≈2,147×109.
En résument, on ne peut représenter 4 octets en 1 octets, le transtipage ne fait que prendre un octet, et ignorer les autres.
Bon courage
Partager