int -> 4 bytes

Status
Nicht offen für weitere Antworten.

Prometheus

Mitglied
Hallo
Ich möchte aus integer und den anderen primitiven Datentypen entsprechend viele bytes bilden, und das ganze auch wieder umgekehrt, also aus z.B. 4 bytes eine integerzahl bilden.
Wie kann man das am besten realisieren?
 

SnooP

Top Contributor
auf dem umgekehrten weg, wie das teilen würd ich sagen ;) ... wie teilst du denn? guck dir die shift-operationen << , >> an. Mit | kann man dann Bits setzen.
 
G

Guest

Gast
Code:
int i = 123456;
    
    byte b1 = (byte) ((i >> 24) & 0xFF);
    byte b2 = (byte) ((i >> 16) & 0xFF);
    byte b3 = (byte) ((i >> 8) & 0xFF);
    byte b4 = (byte) (abc  & 0xFF);

hab ich hier im Forum gefunden und langsam kapier ich das auch. Nur umgekehrt krieg ich es nicht hin.
 
G

Gast

Gast
wenn du das mit dem shiften verstanden hast dann ist es ganz leicht andersrum zumachen
 
G

Gast

Gast
bzw. kannst du das auch mit einem einfachen * und + machen
 

Ark

Top Contributor
Gast hat gesagt.:
bzw. kannst du das auch mit einem einfachen * und + machen
:autsch:

Code:
byte b1=1;
byte b2=2;
byte b3=3;
byte b4=4;

int i=((int)b1&0xFF)|((int)b2&0xFF)<<8|((int)b3&0xFF)<<16|((int)b4&0xFF)<<24;
Wenn die Bytes in einem größeren Datentyp gespeichert sind (short oder int) ist das einfacher:
Code:
int i=b1|b2<<8|b3<<16|b4<<24;
Das Ergebnis dieses Beispiels ist immer 0x04030201.

Ark
 

Ark

Top Contributor
Roar hat gesagt.:
das & 0xFF kann man sich doch auch sparen ???:L
Nee, kann man nicht. Das Vorzeichen in byte verschwindet nicht von allein, aus -1 wird nicht einfach so 255. ;)

Denke ich jedenfalls. oO
 
R

Roar

Gast
hm an negative zahlen hab ich gar nich gedacht, aber da bezog sich auch eigentlich auf Gasts code, denn da bringt das & 0xFF auch bei negativen zahlen nix ;)
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
C BufferedReader/BufferedWriter schreibt nicht alle Bytes Allgemeine Java-Themen 2
V Input/Output Austausch von Bytes zwischen C# und Java Allgemeine Java-Themen 3
RalleYTN Input/Output Clip als ein Array von Bytes? Allgemeine Java-Themen 2
J Temperatur aus bytes auslesen. Allgemeine Java-Themen 13
Q Bytes verschwinden im CipherInputStream Allgemeine Java-Themen 1
L Methoden Methode gibt mir beim verschlüsseln mit RSA 0 bytes aus ? Allgemeine Java-Themen 1
J Bytes aus Socket lesen Allgemeine Java-Themen 9
Q Datentypen Short aus Bytes - Signed -> Unsigned? Allgemeine Java-Themen 9
C Datentypen int in bytes zerlegen und wieder zusammen setzen Allgemeine Java-Themen 13
K Hexadezimale Bytes Allgemeine Java-Themen 6
B bereits gelesene Bytes herausfinden Allgemeine Java-Themen 10
M FIFO Queue: bytes in, float/double/etc out Allgemeine Java-Themen 5
S String zu binary und zurück - Problem mit unsigned/signed bytes Allgemeine Java-Themen 2
TiME-SPLiNTER Von Unix, InputStreams und Null Bytes Allgemeine Java-Themen 2
K AES, Buffer und Bytes Allgemeine Java-Themen 2
S Bytes oder Hex-Werte zu Assembler Code? Allgemeine Java-Themen 6
L bytes nach int (little endian bitshift) Allgemeine Java-Themen 12
J Receive eines Hex-Bytes über COM-Port Allgemeine Java-Themen 4
G Zwei bytes vergleichen Allgemeine Java-Themen 2
M Bytes in Datei schreiben Allgemeine Java-Themen 10
T Spezielle Bytes in Datei schreiben Allgemeine Java-Themen 7
F Einlesen von Bytes Allgemeine Java-Themen 9
reibi Größe Array aus bytes Allgemeine Java-Themen 14
G RXTX verschicken einzelener Bytes Allgemeine Java-Themen 8
G WAV-Samples bearbeiten oder: 2 Bytes -> short -> float Allgemeine Java-Themen 5
T Größe eine Variablen in Bytes? Allgemeine Java-Themen 22
G Mehrere Bytes auf einmal einlesen Allgemeine Java-Themen 4
R Menge an Bytes eines OutputStreams ermitteln. Allgemeine Java-Themen 6
R Wieviele Bytes gesendet Allgemeine Java-Themen 3
T Bestimmte bytes in einer Datei ersetzen? Allgemeine Java-Themen 4
D 16-Bit int --> 2* 8-Bit Bytes Allgemeine Java-Themen 17
H Objekte verbrauchen immer mindestens 16 Bytes Allgemeine Java-Themen 3
W Array größer als 65536 Bytes Allgemeine Java-Themen 7
A RandomAccessFile - Bytes vom Anfang der Datei löschen Allgemeine Java-Themen 32
C Code of a method longer than 65535 bytes Allgemeine Java-Themen 3
L 8 bytes von bestimmter position weg lesen? Allgemeine Java-Themen 11
D 2 Bytes in ein int convertieren Allgemeine Java-Themen 2
B Umwandeln von Bytes in float Zahl (DataInputStream) Allgemeine Java-Themen 3
G 0 Bytes bei temporäre Datei. Warum? Allgemeine Java-Themen 6

Ähnliche Java Themen

Neue Themen


Oben