Wie speichern hexadezimalen Wert in kurze Variablen, die mit java?

Wenn ich zugewiesen vlanid=0x960.(hexadezimaler Wert) direkt,Es funktioniert sehr gut. Aber wenn ich java-Funktion für den gleichen Zweck,Es lagern sich als dezimal-Wert. Befestigte ich den code hier.

int vlanid,

short vlanid1;

vlanid= (int) jSpinner1.getModel().getValue();

vlanid1 = Short.parseShort(((Integer.toHexString(vlanid))),16);
Was das spinnermodel verwenden Sie?
Und warum kann man nicht einfach casten? kurze vlanid1 = (short)vlanid;
Intern, was Wert, den Sie zuweisen, um einen kurzen gespeichert ist, als seine binäre Darstellung, zum Beispiel 0000 1110 0110 0010. Dies wird interpretiert als dezimal-in den meisten Kontexten, aber der Wert ist der gleiche, egal wie Sie zu interpretieren (hexadezimal, dezimal -, Oktav -, Binär, etc) Zum Beispiel, die Nummern 16 und 0x10 die gleiche Anzahl, so dass, wenn Sie zuweisen, 0x10, um eine kurze und drucken Sie es drucken 16. Aber wenn Sie explizit drucken Sie es als eine hexadezimale Zahl, die Sie bekommen, 0x10, mit der gleichen Zahl.
drucken Sie die vlanid nach getValue. Ich denke, das problem ist in es
+1 @Patashu. An den OP:Wir drucken nur zahlen zur Basis 10 ist in der Regel (im Gegensatz zur Basis 2; Binär), weil es für uns einfacher ist, zu behandeln. Wenn Sie wollen, es zu drucken, in Basis 16 (hexadezimal) format nur die single als solche. Wenn dieses nicht ist, was eigentlich machen willst, bitte klarer sein

InformationsquelleAutor Sudhakar | 2013-05-31

Schreibe einen Kommentar