2009-02-05 42 views
5

bạn có thể tăng giá trị hex trong Java không? nghĩa là "giá trị hex" = "giá trị hex" ++Tăng giá trị Hex (JAVA)

+1

Giá trị là một giá trị, tại sao đại diện (nhị phân/bát phân/hex/v.v) trong trường hợp này? –

+1

Bạn nên tự mình thử trước khi hỏi ... để dễ dàng kiểm tra và tự học. –

Trả lời

10

Ý của bạn là gì với "giá trị hex"? Trong loại dữ liệu nào giá trị của bạn được lưu trữ?

Lưu ý rằng int/ngắn/char/... không quan tâm như thế nào giá trị của bạn được thể hiện ban đầu:

int i1 = 0x10; 
int i2 = 16; 

i1i2 sẽ có chính xác cùng một nội dung. Java (và hầu hết các ngôn ngữ khác) cũng không quan tâm đến ký pháp của các hằng số/giá trị của bạn.

3

Có. Tất cả các int là nhị phân anyway, vì vậy nó không quan trọng như thế nào bạn khai báo chúng.

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

Phụ thuộc vào cách giá trị hex được lưu trữ. Nếu bạn đã có giá trị hex trong một chuỗi, hãy chuyển đổi nó thành một số nguyên, tăng và chuyển đổi nó trở lại.

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

Trả lời ngắn: có. Đó là câu trả lời

myHexValue++; 

dài: Đó là khả năng 'giá trị hex' của bạn được lưu giữ như một số nguyên. Việc kinh doanh của chuyển đổi nó thành một hệ thập lục phân (như trái ngược với số thập phân bình thường) chuỗi được thực hiện với

Integer.toHexString(myHexValue) 

và từ một chuỗi hex với

Integer.parseInt(someHexString, 16); 

M.

+0

Hoặc String.format ("% x", myHexValue); –

0

Các cơ sở của số hoàn toàn là một vấn đề giao diện người dùng. Nội bộ một số nguyên được lưu trữ dưới dạng nhị phân. Chỉ khi bạn chuyển đổi nó thành biểu diễn con người, bạn có chọn một căn cứ số không. Vì vậy, bạn đang thực sự câu hỏi sôi xuống để "làm thế nào để tăng một số nguyên?".

Các vấn đề liên quan