2009-02-05 24 views
5

Java'da bir hex değeri artırabilir misiniz? "onaltılık değer" = "onaltılık değer" ++Bir Hex değerini (JAVA) artırın

+1

Bir değer bir değerdir, bu durumda temsil (ikili/sekizli/onaltılık/hex) neden önemlidir? –

+1

Sormadan önce kendiniz denemelisiniz ... bunu test etmek ve kendiniz öğrenmek çok kolay. –

cevap

10

"Onaltılı değer" ile ne demek istiyorsun? Değeriniz hangi veri türünde saklanır?

Not int/kısa/karakter/... değeriniz başlangıçta nasıl temsil umurumda değil:

int i1 = 0x10; 
int i2 = 16; 

i1 ve i2içeriklerin aynısına sahip olacaktır. Java (ve diğer birçok dil) de sabitlerinizin/değerlerinizin gösterimini önemsemez.

3

Evet. Her neyse, zaten ikilidir, bu yüzden onları nasıl beyan ettiğin önemli değil.

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

Bu, hex değerinin nasıl depolandığına bağlıdır. Bir dizede onaltılı değeriniz varsa, bir Tamsayıya dönüştürün, artırın ve geri dönüştürün.

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

Kısa cevap: evet. Bu

myHexValue++; 

Uzun Cevap var: Bu olasılıkla 'onaltılık değeri' bir tamsayı olarak saklanır bu. (Her zamanki ondalık aksine) dize

Integer.toHexString(myHexValue) 

ve

Integer.parseInt(someHexString, 16); 

M.

+0

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

0

baz ile bir altıgen dizisinden yapılan bir onaltılı dönüştürerek iş sayı sadece bir UI sorunudur. Dahili olarak bir tamsayı ikili olarak saklanır. Sadece onu insan temsiline dönüştürdüğünüzde sayısal bir temel seçersiniz. Yani, sen gerçekten "bir tamsayı nasıl arttırırsın?"

İlgili konular