Bytecode a7

T

tanye

Gast
Hey ,

Ich hab ein kleines Problem mit der JVM bezüglich dem Java Bytecode ein Teil des Streams sind wie folgt aus :

a7 ff f9

a7 steht dabei an stelle 9 des bytecodes ... jetzt kommt dabei laut Lösung goto 2 raus bzw. goto Offset -7 aber wieso ? Denn laut Definition errechnet sich der Offset doch dann aus

1111111 << 8 | 11111001 und das wäre doch 11111001 :autsch:

Kennt sich jmd aus ?
 
Zuletzt bearbeitet von einem Moderator:

Marco13

Top Contributor
Code:
000000001111111 << 8 =
1111111100000000

1111111100000000 |
0000000011111001 =
1111111111111001 = -7
 

XHelp

Top Contributor
ff ist 255, genau so wie es da steht. Die 0en waren vermutlich nur übersichtshalber, damit man besser sieht, was da passiert. An dem Wert ändert sich dadurch nichts
 
S

SlaterB

Gast
ff ist 255, genau so wie es da steht. Die 0en waren vermutlich nur übersichtshalber, damit man besser sieht, was da passiert. An dem Wert ändert sich dadurch nichts

XHelp, das ist ja kein hilfreicher Beitrag
wo doch eine konkrete Frage im Raum steht, warum Marco13 ff als '000000001111111' geschrieben hat, also mit sieben 1en,
während 255 doch normalerweise acht 1en hat,
was soll 'ff ist 255, genau so wie es da steht' daran an Klärung bringen? ;)

(edit: obwohl, es scheint ja geholfen zu haben.. )

ich selber vermute, Marco13 hat eine 1 vergessen? alle anderen Zahlen sind doch 16 Ziffern breit,
dass nach <<8 '1111111100000000' herauskommt spricht auch für Ausgangswert '0000000011111111' mit acht 1en?

----

zur neuen Frage: so ist eben die Darstellung von negativen Zahlen in Java, schaue dir das grundsätzlich an,
 
G

Gastredner

Gast
Zweierkomplement - die führende Eins steht für das negative Vorzeichen.
 
Zuletzt bearbeitet von einem Moderator:

XHelp

Top Contributor
XHelp, das ist ja kein hilfreicher Beitrag
wo doch eine konkrete Frage im Raum steht, warum Marco13 ff als '000000001111111' geschrieben hat, also mit sieben 1en,während 255 doch normalerweise acht 1en hat,
was soll 'ff ist 255, genau so wie es da steht' daran an Klärung bringen? ;)

Öhm... oook, Recht hast du. Ich habe jetzt die 1en nicht gezählt (sah eben nach 50/50 aus). Ich dachte die Frage bezog sich auf die führenden 0en. :oops:
 

Ähnliche Java Themen

Neue Themen


Oben