android int à la conversion hexadécimale
- Je convertir un int à une valeur hexadécimale. C'est par exemple la valeur int:
int_value = -13516;
Pour convertir une valeur hexadécimale je fais:
hex_value = Integer.toHexString(int_value);
La valeur que je reçois est : -34CC
(je ne sais pas si je devrais le faire positif).
Le truc, c'est que de faire la conversion de cette façon, la valeur que je reçois est: ffff cb34
Je ne peux pas utiliser cette fonction pour faire cette conversion?
source d'informationauteur masmic | 2013-08-06
Vous devez vous connecter pour publier un commentaire.
Documentation dit
Integer.toHexString
retourne la représentation hexadécimale de laint
comme une valeur non signée.Je crois
Integer.toString(value, 16)
permettra d'accomplir ce que vous voulez.À partir de: Java Convertir entier de hex entier
Les Deux Entier.toHexStringainsi que Chaîne.format("%x") ne prennent pas en charge les signes. Pour résoudre le problème, vous pouvez utiliser une expression ternaire:
De sortie:
#FFC107
Passer par code suivant pour l'Entier de hex et Hex de Conversion d'entier
Je ne pense pas que les réponses ci-dessus vous donnera la valeur exacte pour les bits signés. Par exemple, la valeur de 11 est 0B mais la valeur de -11 serait F5 et non -B depuis 2 complément entre en jeu pour résoudre cela, j'ai modifié la réponse ci-dessus
où, 65536 est de 2^16 maintenant, vous pouvez obtenir les résultats escomptés . Amusez-vous bien 🙂