Variablen 32bit Zählwert als Byte-Array

hasso

Mitglied
Hallo,

ich benötige einen 32bit Zählwert als Byte-Array und mir fehlt im Moment irgendwie jeglicher Ansatz.
Ich kann mir entweder direkt das Array erstellen:

Java:
byte[] zw = new byte[]{(byte)0x00, (byte)0x00, (byte)0x00, (byte)0x00};

Nur wie zähle ich da denn jetzt hoch ? Das ist ja mit einem mehr oder minder großen Aufwand verbunden wenn ich jedes Byte händisch erhöhe und Überläufe prüfen muss..

Andererseits kann ich einfach einen Integer nehmen, der hat ja 32bit, da ist das Hochzählen kein Problem. Nur wie kriege ich einen Integer in ein 4-byte Array ?

Gibt es da eine einfach Möglichkeit oder muss ich das händisch ausprogrammieren ?

Viele Grüße
 

xVentura

Aktives Mitglied
Hallo um kein neues Thema zu erstellen frage ich mal kurz hier nach Hilfe.

Mein code:
Java:
import java.nio.ByteBuffer;

public class Befehle {
	public static void main(String[] args) {
		ByteBuffer b = ByteBuffer.allocate(3);
		b.putInt(15);
		// byte[] result = b.array();
		System.out.println(b);
	}
}

Console:
Exception in thread "main" java.nio.BufferOverflowException
at java.nio.Buffer.nextPutIndex(Unknown Source)
at java.nio.HeapByteBuffer.putInt(Unknown Source)
at Befehle.main(Befehle.java:6)

wieso klappt das nicht?
 

xVentura

Aktives Mitglied
Ein int belegt 4 byte. Du hast den Buffer nur mit 3 byte alloziert. Deswegen die Exception.

Nun funktioniert es. Aber ich verstehe es nicht? Die zahl 2 ist doch ein Int und die kann ich doch mit 3 bytes abspeichern?

Und eigentlich brauche ich nur 2 Bytes... Und deshalb habe ich es mit putShort versucht, aber das ging auch nicht...
 
Zuletzt bearbeitet:

xVentura

Aktives Mitglied
Ok ich weiß nun was du meinst.

Java:
import java.nio.ByteBuffer;

public class Befehle {
	public static void main(String[] args) {
		ByteBuffer b = ByteBuffer.allocate(2);
		b.putShort(10);
		byte[] result = b.array();
		System.out.println(result);
	}
}

aber wieso funktioniert das nicht?

console: Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method putShort(short) in the type ByteBuffer is not applicable for the arguments (int)

at Befehle.main(Befehle.java:6)
 

xVentura

Aktives Mitglied
Ok ich weiß nun was du meinst.

Java:
import java.nio.ByteBuffer;

public class Befehle {
	public static void main(String[] args) {
		ByteBuffer b = ByteBuffer.allocate(2);
		b.putShort(10);
		byte[] result = b.array();
		System.out.println(result);
	}
}

aber wieso funktioniert das nicht?

console: Exception in thread "main" java.lang.Error: Unresolved compilation problem:
The method putShort(short) in the type ByteBuffer is not applicable for the arguments (int)

at Befehle.main(Befehle.java:6)

hat sich nun alles erledigt, trotzdem nochmal dankeschön!
 
N

nillehammer

Gast
Auch, wenn es sich erledigt hat, der Vollständigkeit halber die Antworten. Nur für den (unwahrscheinlichen) Fall, dass jemand die Forensuche benutzt :lol:

Die zahl 2 ist doch ein Int und die kann ich doch mit 3 bytes abspeichern?
Eine Variable vom Typ int belegt in Java immer 4 bytes. Auch, wenn man die Zahl 2 in einem byte abspeichern könnte, werden 4 bytes belegt. Es wäre ja immerhin denkbar, dass man der Variable irgendwann einmal eine größere Zahl zuweist.
[JAVA=6]b.putShort(10);[/code]
The method putShort(short) in the type ByteBuffer is not applicable for the arguments (int)
Ganze Zahlen Java-Code sind immer vom Typ int. Wenn man das nicht will, muss man entweder vorher eine Variable des gewünschten Typs deklarieren und initialisieren, oder den Parameter explizit casten:
Java:
b.putShort((short)10);
 

TKausL

Top Contributor
Eine Variable vom Typ int belegt in Java immer 4 bytes. Auch, wenn man die Zahl 2 in einem byte abspeichern könnte, werden 4 bytes belegt. Es wäre ja immerhin denkbar, dass man der Variable irgendwann einmal eine größere Zahl zuweist.
Wenn dem nicht so wäre wären warscheinlich auch byte, short, int und long zu einem einzigen Datentypen zusammengefasst :D
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
F 2x 16bit Werte zu einem 32bit und dann splitten mit 0xb Java Basics - Anfänger-Themen 1
P Wie für EIN Java Programm von 64bit Java (=Standard) auf 32bit Java Installation (Windows) umschalten? Java Basics - Anfänger-Themen 6
E JDK installieren 64bit Linux - 32bit Java ? Java Basics - Anfänger-Themen 10
H JDK installieren 32bit oder 64bit? Java Basics - Anfänger-Themen 8
H Long (64Bit) in 2 int (32Bit) zerlegen Java Basics - Anfänger-Themen 2
C Probleme mit Byte konvertieren nach int Java Basics - Anfänger-Themen 10
T IOStreams read(byte[]b) methode Java Basics - Anfänger-Themen 2
I Dateigröße von einem InputStream oder byte[] bekommen Java Basics - Anfänger-Themen 2
krgewb byte-Array, das ein Bild repräsentiert Java Basics - Anfänger-Themen 1
G ImageIcon in Byte-Array ablegen Java Basics - Anfänger-Themen 7
D Best Practice Parameter int vs byte Java Basics - Anfänger-Themen 16
J RSA Verschlüsselung Testen / byte[] in Objekt umwandeln Java Basics - Anfänger-Themen 1
S Byte-Array kann chars speichern? Java Basics - Anfänger-Themen 3
N Datentypen Image zu Byte-Array Java Basics - Anfänger-Themen 4
M Datentypen Byte, Float und Boolean Java Basics - Anfänger-Themen 13
F byte, short oder doch int? Java Basics - Anfänger-Themen 6
S Performance von byte[], short[], int[]..? Java Basics - Anfänger-Themen 24
D Methoden int to byte array und zurück? Java Basics - Anfänger-Themen 5
P int zu byte Java Basics - Anfänger-Themen 8
F Byte Array wachsen lassen Java Basics - Anfänger-Themen 5
M Java Klasse Byte Java Basics - Anfänger-Themen 10
F Byte Ausgabe plötzlich falsch Java Basics - Anfänger-Themen 0
V String in Byte umwandeln Java Basics - Anfänger-Themen 11
O Input/Output Ein (negatives) Byte über PrintWriter hinausschreiben Java Basics - Anfänger-Themen 3
T byte[] zu String mit Sonderzeichen Java Basics - Anfänger-Themen 2
W Nullpointer bei Objekt Serialisierung mit ArrayList<byte[]> etc. Java Basics - Anfänger-Themen 2
J byte - Ausgabe Java Basics - Anfänger-Themen 2
F Teil eines Byte Array an eine Methode übergeben Java Basics - Anfänger-Themen 5
S byte to float Java Basics - Anfänger-Themen 4
J Byte Folge erkennen Java Basics - Anfänger-Themen 5
M sehr großes Byte Array Java Basics - Anfänger-Themen 3
M Byte Array und Co. Java Basics - Anfänger-Themen 12
T Operatoren Float in byte umwandeln Java Basics - Anfänger-Themen 3
Y File to byte[] and byte[] to sysout Java Basics - Anfänger-Themen 3
P Wann Byte-Stream und wann Character-Stream? Java Basics - Anfänger-Themen 11
F Hexfolge in Byte Array ersetzen Java Basics - Anfänger-Themen 8
P String in byte konvertieren, wie? Java Basics - Anfänger-Themen 4
T Erste Schritte Byte Java Basics - Anfänger-Themen 3
R byte[] zu String und Ausgabe Java Basics - Anfänger-Themen 2
H Variablen short <-> byte[] Java Basics - Anfänger-Themen 15
X Datentypen String in byte[] Java Basics - Anfänger-Themen 29
H Variablen string nach byte Java Basics - Anfänger-Themen 12
B Frage zur Effizienz von read und read(byte[]) Java Basics - Anfänger-Themen 23
R Erste Schritte Rechnenoperationen mit byte, short und char Java Basics - Anfänger-Themen 8
V Datentypen Frage zum Datentyp Byte Java Basics - Anfänger-Themen 11
L Byte[] to String, doch bits sind gespiegelt (MSB/LSB) Java Basics - Anfänger-Themen 3
S Von byte[] nach String zurueck nach byte[]. Arrays sind nicht identisch :( Java Basics - Anfänger-Themen 6
S ArrayList<Byte> in String umwandeln Java Basics - Anfänger-Themen 5
V unsigned byte? Java Basics - Anfänger-Themen 27
M byte Array Mindestlänge Java Basics - Anfänger-Themen 19
U short[] nach byte[] Java Basics - Anfänger-Themen 11
D [jni] jbytearray <-> byte array Java Basics - Anfänger-Themen 8
S Datentypen Ändern eines byte[] Arrays Java Basics - Anfänger-Themen 4
B byte-weise Verschlüsselung Java Basics - Anfänger-Themen 6
P byte Array aus ImageIcon Java Basics - Anfänger-Themen 10
S Input/Output String in byte umwandeln? Java Basics - Anfänger-Themen 5
F von Byte zu 2 Stellig Hex Java Basics - Anfänger-Themen 3
G byte[] (Base64) korrekt übergeben Java Basics - Anfänger-Themen 4
V Jar-Datei von Byte-Array oder Stream laden? Java Basics - Anfänger-Themen 9
O 64bit- OS byte, short, int oder long bzw. float oder double? Java Basics - Anfänger-Themen 13
G Binär in Byte speichern Java Basics - Anfänger-Themen 7
T Datentypen byte -Division..mal gehts mit cast mal ohne Java Basics - Anfänger-Themen 5
T Datentypen default ist int, cast zu byte nötig... Java Basics - Anfänger-Themen 2
F Byte nach Zahl umwandeln Java Basics - Anfänger-Themen 11
E Datentypen type cast problem (int, byte,) Java Basics - Anfänger-Themen 5
T Datentypen unsigned byte? Java Basics - Anfänger-Themen 9
G Integar zu Byte Java Basics - Anfänger-Themen 4
P Byte mit 0...255? Java Basics - Anfänger-Themen 5
N Datentypen Fehler beim Umwandeln in byte Java Basics - Anfänger-Themen 3
L Umwandlung int <--> byte Java Basics - Anfänger-Themen 2
L Datentypen 250 und byte? Java Basics - Anfänger-Themen 4
L Datentypen byte[] in String und wieder zurück Java Basics - Anfänger-Themen 3
H Datentypen Byte-Array RSA Java Basics - Anfänger-Themen 9
H Datentypen Rechnen mit signed Byte-Array - unsinged byte Java Basics - Anfänger-Themen 3
N Files mit Byte an Socket versenden Java Basics - Anfänger-Themen 2
V Byte -> String -> Byte verlustfrei Java Basics - Anfänger-Themen 12
Hindi93 Byte to Int Java Basics - Anfänger-Themen 4
H Datentypen byte[] to int Java Basics - Anfänger-Themen 9
S hex zu byte Java Basics - Anfänger-Themen 4
M Byte Array: Werte größer 127? Java Basics - Anfänger-Themen 11
S Addition zweier 32 Byte langer ByteArrays Java Basics - Anfänger-Themen 5
H 1 Byte Status Variable Java Basics - Anfänger-Themen 3
P Datentypen Byte und char Typecast Java Basics - Anfänger-Themen 2
M Bit/Byte Operationen Java Java Basics - Anfänger-Themen 8
W Datentypen int -> byte Java Basics - Anfänger-Themen 2
H Datentypen Byte-Array aus Stream lesen Java Basics - Anfänger-Themen 3
F Typenumwandlung byte <=> int verstehen Java Basics - Anfänger-Themen 3
S Byte eines arrays Java Basics - Anfänger-Themen 17
N Frage zu Datentyp byte Java Basics - Anfänger-Themen 14
B unsigned byte Problem Java Basics - Anfänger-Themen 9
S 2 Byte Arrays addieren Java Basics - Anfänger-Themen 45
S Unbekannte Daten einlesen, speichern und in einem byte Array speichern Java Basics - Anfänger-Themen 3
S Alle Datentypen in byte Array und zurückwandeln Java Basics - Anfänger-Themen 2
H Frage zu Byte-Streams Java Basics - Anfänger-Themen 2
Z Wie Byte[] in einen String oder int konvertieren Java Basics - Anfänger-Themen 2
0 byte[] -> hex Java Basics - Anfänger-Themen 2
G char[] in byte[] konvertieren? Java Basics - Anfänger-Themen 2
V Byte Arrays in Strings umwandeln und splitten Java Basics - Anfänger-Themen 2
M unsigned byte Java Basics - Anfänger-Themen 4
F Byte 0 und 1 einzelnd zuweisen? Java Basics - Anfänger-Themen 17

Ähnliche Java Themen

Neue Themen


Oben