2Danke
ERLEDIGT
JA
JA
ANTWORTEN
4
4
ZUGRIFFE
730
730
EMPFEHLEN
-
Hi!
Wie lese ich ein Integer aus einem byte[]-Array heraus, ohne einen ByteArrayInputStream zu verwenden?
Folgendes habe ich versucht:
Code java:1 2
byte[] patch = {0,0,0,42}; int s = patch[0] << 24 + patch[1] << 16 + patch[2] << 8 + patch[3];
Dabei ist s leider 0.
Wo liegt der Fehler?Geändert von procurve (17.02.09 um 13:25 Uhr) Grund: überflüssige Klammern entfernt
-
1. Fehler gefunden:
<< bindet schwächer als +, daher sind Klammern nötig:
Code java:1 2
byte[] patch = {0,0,0,42}; int s = (patch[0] << 24) + (patch[1] << 16) + (patch[2] << 8) + patch[3];
Das nächste Problem ist, dass patch[x] ein vorzeichenbehaftetes byte ist. Wie bekomme ich aus diesem ein vorzeichenloses byte?
-
17.02.09 14:46 #3
http://jguru.com/faq/view.jsp?EID=13647
http://forums.sun.com/thread.jspa?th...sageID=2817526
Vielleicht hilft dir das.
-
Gebe keine Hilfe per PN, Mail, Instant Messenger etc.
und keine Copy&Paste-Lösungen - ein bisschen selbst nachdenken sollte drin sein. Konstruktivismus 4tw!
MfG, Zod
__________________
rpd Framework: Rapid Web-Engineering in PHP (Manual | Google Code)
-
Danke, schon was gefunden:
Um aus einem byte ein unsigned byte zu machen wird folgendes gemacht:
Code java:1 2
byte b = 211; int unsigned = b & 0xFF
Damit ergibt sich aus meiner obigen Fragestellung der folgende Code:
Code java:1 2
byte[] patch = {0,0,0,42}; int s = ((patch[0] & 0xFF) << 24) + ((patch[1] & 0xFF) << 16) + ((patch[2] & 0xFF) << 8) + (patch[3] & 0xFF);
Erledigt!
Ähnliche Themen
-
[VC++ 6.0] Integer richtig nach BYTE casten ?
Von vfl_freak im Forum C/C++Antworten: 4Letzter Beitrag: 04.11.10, 11:56 -
Konvertierung von Integer in Byte Array
Von javaprogger1987 im Forum JavaAntworten: 14Letzter Beitrag: 05.01.10, 21:09 -
byte udn integer
Von MinaM im Forum JavaAntworten: 2Letzter Beitrag: 12.07.05, 13:11 -
Integer to Byte
Von Wolfsbein im Forum JavaAntworten: 5Letzter Beitrag: 18.10.04, 13:17 -
Byte & Integer
Von polar im Forum Visual Basic 6.0Antworten: 14Letzter Beitrag: 30.10.02, 15:20





Zitieren

Login





