2009-02-05 5 views
5

pouvez-vous incrémenter une valeur hexadécimale en Java? c'est-à-dire "valeur hexadécimale" = "valeur hexadécimale" ++Incrémenter une valeur hexadécimale (JAVA)

+1

Une valeur est une valeur, pourquoi la représentation (binaire/octal/hex/etc) importe-t-elle dans ce cas? –

+1

Vous devriez essayer par vous-même avant de demander ... si facile à tester et à apprendre par vous-même. –

Répondre

10

Que voulez-vous dire par "valeur hexadécimale"? Dans quel type de données votre valeur est-elle stockée?

Notez que int/court/char/... ne se soucient pas de votre valeur est représentée initialement:

int i1 = 0x10; 
int i2 = 16; 

i1 et i2 auront la exactement le même contenu. Java (et la plupart des autres langues) ne se soucie pas de la notation de vos constantes/valeurs.

3

Oui. Tous les entiers sont binaires de toute façon, peu importe comment vous les déclarez.

int hex = 0xff; 
hex++; // hex is now 0x100, or 256 
int hex2 = 255; 
hex2++; // hex2 is now 256, or 0x100 
11

Cela dépend de la façon dont la valeur hexadécimale est stockée. Si vous avez la valeur hexadécimale dans une chaîne, convertissez-la en entier, incrémentez et convertissez-la.

int value = Integer.parseInt(hex, 16); 
value++; 
String incHex = Integer.toHexString(value); 
9

Réponse courte: oui. Il est

myHexValue++; 

réponse plus longue: Il est probable que votre « valeur hexadécimale » est stockée sous forme d'entier. L'activité de la convertir en hexadécimal (par opposition à la décimale habituelle) chaîne se fait avec

Integer.toHexString(myHexValue) 

et d'une chaîne hexagonale avec

Integer.parseInt(someHexString, 16); 

M.

+0

Ou String.format ("% x", myHexValue); –

0

La base du nombre est purement un problème d'interface utilisateur. En interne, un entier est stocké en tant que binaire. Ce n'est que lorsque vous le convertissez en représentation humaine que vous choisissez une base numérique. Donc, votre question se résume vraiment à "comment incrémenter un entier?".

Questions connexes