Byte eines arrays

Status
Nicht offen für weitere Antworten.

sternchen

Mitglied
Hallo,

ich hab mal eine doofe frage =) ich hab eine aufgabe, in der ich ausrechnen soll wieviele bytes insgesamt benötigt werden für mehrere arrays.

nun verstehe ich nicht wie ich das machen soll, weil ich garnicht weiß wieviel ein array an bytes braucht ???:L

mal angenommen ich habe ein array des typs int das die länge 3 hat. benötigt es dann 3 * 8 = 24 Bytes? und wie sieht es aus bei arrays des typs double??

vielen dank für die hilfe?

LG

Sternchen
 

javimka

Top Contributor
int und float brauchen 32 Bits, also 4 Bytes.
long und double brauchen 64 Bits, also 8 Bytes.
Ein int Array der Länge 3 braucht also 3*4 = 12 Bytes :)
 

sternchen

Mitglied
ahh super vielen dank.... und macht es einen unterschied ob ich jetzt zum beilspiel einen array dem "Fach" 1 eine zahl zugewiesen habe? verändert sich da was an den bytes?
 

KrokoDiehl

Top Contributor
Hm, ist aber die Frage (deren Antwort ich selbst nicht kenne), welche Metainformationen hinzukommen. Aber ich habe keine Ahnung ob das in der Aufgabenstellung erfragt ist, sprich wieviel Bytes braucht ein
Code:
int[4]
theoretisch oder tatsächlich... :)

Für den tatsächlichen Wert müsste man das Objekt wohl serialiseren und dann die Bytes zählen ;) Aber wer weiß, am Ende ist das eh plattformspezifisch.

...ok, ich glaube ich habe nun nur zur Verwirrung beigetragen ???:L
 
D

Dow Jones

Gast
Wenn ein Array die länge 10 hat, rechnet man dann 10*4=40 Bytes ?

Wenn das Array Elemente von einem Typ aufnehmen soll, der 4 Bytes beansprucht, dann ja. Bei einem Array vom Typ Integer wäre das z.B. der Fall. Bei Shorts würde man 10*2 rechnen, bei Bytes 10*1. Bei Booleans darfst du selber googeln... (prinzipiell beansprucht ein Boolean nur 1 Bit, aber in welcher Form dieses Bit tatsächlich im Speicher abgelegt wird hängt von der Sprache/Compiler/Hardware/weiss der Geier was ab. Wie gesagt, googeln).
 
D

Dow Jones

Gast
Ich denke man kann sagen, das ein Array welches "auf NULL gesetzt ist" an sich gar keinen Speicher beansprucht (sofern man überhaupt von einem Array sprechen kann). Wofür auch? Das Ding kann ja nichts speichern; es existiert dann ja nur noch der Name des Arrays, nicht aber das Array selber.

Weniger philosophisch betrachtet muss man freilich sagen, das sowohl der Bezeichner des Arrays als auch der Pointer auf den Speicherbereich (letzterer kann auch der NULL-Pointer sein, als Kennzeichnung dafür das diesem Array kein Speicherbereich zugewiesen wurde) etwas Platz im RAM beanspruchen. Ob man diesen Speicherplatzbedarf noch dem Array zurechnen sollte, darüber kann man streiten wenn man will.
Falls man streiten will: Keine Ahnung wieviele Platz der Bezeichner bei Java braucht, aber beim (Null-)Pointer würde ich mal auf 4 Bytes tippen. Jedenfalls bei 32-Bit Maschinen. Und das Array selber bräuchte halt Objectgröße_in_bytes * Anzahl_Elemente, wie in den verherigen Posts schon beschrieben.
 

chillerStudent

Bekanntes Mitglied
Falls man streiten will: Keine Ahnung wieviele Platz der Bezeichner bei Java braucht, aber beim (Null-)Pointer würde ich mal auf 4 Bytes tippen. Jedenfalls bei 32-Bit Maschinen. Und das Array selber bräuchte halt Objectgröße_in_bytes * Anzahl_Elemente, wie in den verherigen Posts schon beschrieben.

Also kann ein Array nie byte<4 sein?
 
D

Dow Jones

Gast
Zumindest kann der Pointer auf ein Array, welcher bei der Deklaration des Arrays angelegt wird, nie < 32 Bits (also 4 Bytes) sein. Das ist aber nur meine Vermutung darüber wie das bei Java auf einer 32-Bit-Maschine intern abläuft.
Und ich vermute auch das der Lehrer hören möchte, das ein auf Null gesetztes Array gar keinen Speicherplatz beansprucht...
 

chillerStudent

Bekanntes Mitglied
Und ich vermute auch das der Lehrer hören möchte, das ein auf Null gesetztes Array gar keinen Speicherplatz beansprucht...

Ich meine genau das Gegenteil. Der leherer(Uni Prof.) möchte genau hören, dass es Speicherplatz beansprucht.

Widerspricht du dich nicht in der Vermutung, indem du gesagt hast, dass wegen dem Pointer das leere Array den Speicher benötigt und dann:

Und ich vermute auch das der Lehrer hören möchte, das ein auf Null gesetztes Array gar keinen Speicherplatz beansprucht...
 
I

irgendjemand

Gast
damit war lediglich gemeint was der lehrer hören will

rein theoretisch verbraucht ein nicht optimierter point auf irgendwas ... auch wenn es NULL ist ... defintiv speicher in java ... da man auf den pointer ja zugreifen kann ...
wie viel das nun ist ... darüber kann man sich wirklich streiten ... aber auch ich würde bei ner 32er VM auf 32bit sowie bei ner 64er VM auf 64bit tippen ... gibt ja in der regel die breite der daten-wörter und damit des speicher-busses an ...

viele sind aber der ansicht das eine auf NULL gesetzte referenz halt auch KEINEN speicher braucht ... was ja in soweit stimmt als das es halt gerade kein objekt gibt auf das diese referenz zeigen könnte ... aber wie gesagt ... eine nicht wegoptimierte variable selbst verbraucht auch immer ein paar bits und cpu last ...

"weil null boolean ist" ...

OUCH

wo hast du das denn her ?

in java ist NULL eindeutig definiert ... nämlich als kennzeichnung dafür das eine referenz auf KEIN objekt zeigt ... das hat rein gar nicht mit boolean zu tun

*wobei bool eigentlich schon sagt : zwei zustände ... und diese mit true und false gefüllt sind ... wo willst du also in einen datentyp der nur maximal 2 zustände annehmen kann noch einen dritten packen ? meinst du nicht auch das sich das etwas wiederspricht ?*
 
D

Dow Jones

Gast
Widerspricht du dich nicht in der Vermutung, indem du gesagt hast, dass wegen dem Pointer das leere Array den Speicher benötigt und dann:
Nöö, ich denke nicht das ich mir widerspreche. Wie gesagt, ich unterscheide zwischen dem eigentlichen Array (damit meine ich den zusammenhängenden Speicherbereich von Objektgröße*Anzahl Bytes) und dem organisatorischen Kram (wie den Bezeichner des Arrays und dem Pointer auf den zuvor genannten Speicherbereich). Wenn der Pointer auf null gesetzt wird, dann existiert schlicht und einfach kein Speicherbereich für das Array. Folglich beansprucht es auch kein einziges Byte an Speicher. Der organisatorische Kram existiert natürlich trotzdem (und beansprucht ein paar Bytes im RAM).
Bei dieser Trennung zwischen Array und organisatorischem Kram mag nicht jeder mit mir übereinstimmen, und von daher kann ich durchaus einerseits meine Sichtweise äußern und andererseits vermuten was der Dozent möglicherweise hören möchte. (Übrigens: Man kann so eine Testfrage durchaus auch in mehreren erklärenden Sätzen beantworten, um exakt auszudrücken was man meint ;-) )

Ich meine genau das Gegenteil. Der leherer(Uni Prof.) möchte genau hören, dass es Speicherplatz beansprucht.
Tja, von uns allen kannst du selbst das natürlich am besten beurteilen. Also formuliere die Antwort halt so, wie du es für richtig hälst.


PS:
Java:
        int[] a = new int[10];
        int[] b = null;
        int[][] x = { a, b, {}, null };
Wie man hier sieht enthält das Array x vier Elemente - nennen wir sie mal a, b, c und d - die jeweils selber Arrays sind. c und d haben dabei keinen eigenen Bezeichner, und die Pointer auf c und d sind in dem Array x enthalten (zählen also zum Speicherplatzbedarf von x).
Wieviel Bytes beanspruchen die einzelnen Arrays a, b, c und d nun?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
S Datentypen Ändern eines byte[] Arrays Java Basics - Anfänger-Themen 4
F Teil eines Byte Array an eine Methode übergeben Java Basics - Anfänger-Themen 5
M Bildgröße (in Byte) eines Images ermitteln 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
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 32bit Zählwert als Byte-Array Java Basics - Anfänger-Themen 9
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
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
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
G byte [] aus uRL erhalten Java Basics - Anfänger-Themen 11
J Byte-Array als Hex-Datei speichern? Java Basics - Anfänger-Themen 9
G Hex to Byte Java Basics - Anfänger-Themen 13
S Byte in Zahl umwandeln Java Basics - Anfänger-Themen 3

Ähnliche Java Themen

Neue Themen


Oben