Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
Warum sind 1kB = 1024 Byte?
ayykaramba
myCSharp.de - Member



Dabei seit:
Beiträge: 10

Themenstarter:

Warum sind 1kB = 1024 Byte?

beantworten | zitieren | melden

Hallo,

absolute Grundlagenfrage! Ich weiß! Ich verstehe es trotzdem nicht.

Ich weiß, dass 1 Byte aus 8 bit bestehen die jeweils 2 Zustände haben können. Also 1 Byte kann 256 verschiedene Zustände abbilden (2^8). Somit ist ein Byte ein definierter Datenblock.

1 kB = 1024 bytes gilt streng genommen nicht für 1 Kilobyte sonder für 1 Kibibyte. In der Regel spricht aber trotzdem jeder von 1 Kilobyte nach meiner Erfahrung.
Wenn ich google warum nun 1kB = 1024 bytes ist, stoße ich auf die Erklärung: "Weil 2^10 = 1024 ist und diese Potenz an die 1000 am nächsten ran kommt".
Das ist für mich aber keine ausreichende Erklärung. Warum sollte man das so rechnen?

Vielen Dank
private Nachricht | Beiträge des Benutzers
HansFred
myCSharp.de - Member



Dabei seit:
Beiträge: 49

beantworten | zitieren | melden

https://praxistipps.chip.de/warum-ist-1-kbyte-1024-byte_93390
private Nachricht | Beiträge des Benutzers
ayykaramba
myCSharp.de - Member



Dabei seit:
Beiträge: 10

Themenstarter:

beantworten | zitieren | melden

Das ist so ziemlich der erste link den man bei Google findet und den hab ich auch bereits gefunden. In dem link wird es nicht ausreichend erklärt finde ich. Warum 2^10?
private Nachricht | Beiträge des Benutzers
HansFred
myCSharp.de - Member



Dabei seit:
Beiträge: 49

beantworten | zitieren | melden

dann lese doch den artikel richtig. Kilo hat 10 bytes also heisst es ausgesprochen 2 hoch 10 Bytes = 1024 Bytes
das ist simple mathematik Google-Suche nach 2^10
private Nachricht | Beiträge des Benutzers
ayykaramba
myCSharp.de - Member



Dabei seit:
Beiträge: 10

Themenstarter:

beantworten | zitieren | melden

ein Kilo hat 10 bytes? Nein ein Kilo entspricht 1000 in der Mathematik!

Was 2^10 ergibt weiß ich, aber wie kommt man auf die Rechnung? Warum 2 hoch 10?
Bei der Rechnung wird suggeriert dass ein Byte nur 0 oder eins sein kann. Aber ein Byte besteht doch aus 8 bits und kann deshalb unterschiedliche Zustände haben. Oder versteh ich das falsch?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ayykaramba am .
private Nachricht | Beiträge des Benutzers
HansFred
myCSharp.de - Member



Dabei seit:
Beiträge: 49

beantworten | zitieren | melden

ja offenbar hast du früher nicht aufgepasst

2 × 2 × 2 × 2 × 2 × 2 × 2 × 2 × 2 × 2 = 1024

jetzt musst du nur noch richtig mit den fingern abzählen dann siehst du zehn zweien
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von HansFred am .
private Nachricht | Beiträge des Benutzers
HansFred
myCSharp.de - Member



Dabei seit:
Beiträge: 49

beantworten | zitieren | melden

nimmst du nicht zehn zweien (=Kilo) sondern 20 dann hast du mega
nimmst du nicht zehn zweien (=Kilo) sondern 30 dann hast du giga
nimmst du nicht zehn zweien (=Kilo) sondern 40 dann hast du tera

das ist wirklich sehr einfache mathematik
private Nachricht | Beiträge des Benutzers
ayykaramba
myCSharp.de - Member



Dabei seit:
Beiträge: 10

Themenstarter:

beantworten | zitieren | melden

Ich glaub du liest gar nicht meine Nachrichten.. Wie bereits geschrieben weiss ich was mathematisch 2^10 bedeutet. Darum versteh ich auch nicht wieso du das jetzt ausschreibst.

Die Frage ist: Warum (!!) rechnen wir 2^10? Warum ist ein Kilo bei bytes nicht der gleicher Faktor wie er zum Beispiel bei Kilogramm ist? 1kg ist 1000 gramm. Warum ist 1kB nicht auch 1000 bytes?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ayykaramba am .
private Nachricht | Beiträge des Benutzers
HansFred
myCSharp.de - Member



Dabei seit:
Beiträge: 49

beantworten | zitieren | melden

ganz schön freche antwort wenn man bedenkt das man dir helfen will. ich denke du kannst es einfach nicht kapieren oder willst es nicht kapieren.

nicht umsonst vergleichst du das dezimale system mit 1 Kilogramm mit einem binärsystem base 10 und 1000 bytes

viel erfolg peace!
private Nachricht | Beiträge des Benutzers
ayykaramba
myCSharp.de - Member



Dabei seit:
Beiträge: 10

Themenstarter:

beantworten | zitieren | melden

Ja sorry aber nachdem du drei mal meine Frage nicht beantwortet hast.. Und ausserdem hast du damit angefangen in dem du schreibst "da hast du wohl in der schule nicht aufgepasst". Aber lass uns zu einer sachlichen Diskussion zurück kommen.
In deinem letzten Beitrag hast du wohl den wink auf die richtige Spur gegeben. Die 2 in 2^10 hat mir bereits suggeriert dass es sich um ein binäres System handelt(wie bereits in meinem vorletzten Post geschrieben). Mir ist bewusst dass bits binär sind aber warum werden bytes binär gezählt? Ein Byte ist doch nicht binär? Sondern trägt die Information von 0 bis 256. Das war auch meine Ausgangsfrage!
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ayykaramba am .
private Nachricht | Beiträge des Benutzers
dannoe
myCSharp.de - Member



Dabei seit:
Beiträge: 186

beantworten | zitieren | melden

HansFred deine Erklärung ist aber auch sehr verwirrend.
Zitat von HansFred
Kilo hat 10 bytes also heisst es ausgesprochen 2 hoch 10 Bytes = 1024 Bytes
Was "Kilo hat 10 bytes" heißen soll weiß ich hier auch nicht.

Aber zurück zur eigentlichen Frage:

Recht ausführlich wird es im Abschnitt "History" in dem englischen Wikipedia-Artikel zu den Binärpräfixen erklärt: Binary prefix - Wikipedia

Teilweises tl;dr:

- Früher gab es 2 verschiedene Addressierungssysteme bei Computern: Dezimal und Binär
- Binär hat sich als Standard durchgesetzt.
- Es wurde versucht die großen Angaben von Speichergrößen (z.B. Handbücher) in eine verkürzte Form zu bringen, es gab aber in der Computertechnik keinen Standard. Also wurden die bereits vorhanden SI-Präfixe (Mega, Kilo, Giga, etc.) verwendet.
- Als Basis dienten hier die 1024 Bytes, weil bereits damals viele Speichergrößen ein vielfaches davon entsprachen.
- D.h. es wurde zwar 1 Kilobyte geschrieben, gemeint waren aber 1024 Bytes.

Auch heute ist der Ausdruck "1 kB" noch mehrdeutig (1000 oder 1024).
Die Angabe 1 Kibi ist dagegen durch die IEC auf 1024 festgelegt.
Zitat von ayykaramba
Mir ist bewusst dass bits binär sind aber warum werden bytes binär gezählt?

Die Basis 2 für die Präfixe hat nichts direkt(!) mit den zwei Zuständen eines Bits zu tun.
private Nachricht | Beiträge des Benutzers
ayykaramba
myCSharp.de - Member



Dabei seit:
Beiträge: 10

Themenstarter:

beantworten | zitieren | melden

danke dannoe!

Das war ne Antwort auf die Frage! :D
private Nachricht | Beiträge des Benutzers
emuuu
myCSharp.de - Member

Avatar #avatar-4078.jpg


Dabei seit:
Beiträge: 286

beantworten | zitieren | melden

Zitat von HansFred
ganz schön freche antwort wenn man bedenkt das man dir helfen will. ich denke du kannst es einfach nicht kapieren oder willst es nicht kapieren.

Ich empfinde deine Antworten eher als extrem herablassend und mit gefährlichem Halbwissen gespickt.
Zitat von HansFred
Kilo hat 10 bytes also heisst es ausgesprochen 2 hoch 10 Bytes = 1024 Bytes

Das ist vollkommener Quatsch. Man sagt zu 2^10 Bytes wie ayykaramba schon richtig gesagt hat einfach umgangssprachlich Kilo, weil 10^3 am nächsten dran an 2^10 ist. Und die SI-Präfixe waren damals einfach extrem verbreitet und daher hat sich das durchgesetzt.

Mit dem Aufkommen der TB-Festplatteten haben die Hersteller sich das direkt zu nutze gemacht und bei einer 1 TB-HDD nur 1000 GB anstatt 1024 GB reingepackt.
2+2=5 (für extrem große Werte von 2)
private Nachricht | Beiträge des Benutzers
ayykaramba
myCSharp.de - Member



Dabei seit:
Beiträge: 10

Themenstarter:

beantworten | zitieren | melden

Mit dem Link von dannoe (auch deutsche Wikipedia Seite) hab ich nun glaube ich die Antwort gefunden wie ich sie wollte, falls es noch jemanden interessiert:

In jeder Adressleitungen von Datenbussen können 2 Speicherzellen (Bits) adressiert werden. Somit können bei n Adressleitung 2^n Speicherzellen adressiert werden. Zu Beginn der Computertechnik hat man noch keine Präfixe benötigt da jeder Speicherstein sehr klein war. Somit hat man die Speichersteingröße anhand vom binären Zahlensystem aufgebaut, da man dadurch keinen Speicherstein mit einer ungeraden Anzahl von Speicherzellen aufbaut.
Die üblichen Speichergrößen (1 GB, 1 KB usw) beziehen sich darauf. z.B. 1KB = 2^10 Speicherzellen/Bits = 1024 Speicherzellen/Bits.

Ich denke mal aus heutiger Sicht würde man das dezimal System einführen, um hier keine Verwirrung zu stiften. Man rechnet ja heutzutage ja auch Byteweise (jeweils 8 Bit) und nicht Bitweise was es auch schon ausschließt Speichersteine mit ungeraden Speicherzellen zu bauen.
Dieser Beitrag wurde 2 mal editiert, zum letzten Mal von ayykaramba am .
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo ayykaramba,

nein, auch heute würde wohl (wieder) das Binärsystem verwendet werden, weil es einfach technisch/elektronisch herausragende Vorteile hat. Und dann landet man wieder bei binärer Adressierung und damit - wie du das zutreffend beschrieben hast - wieder bei Speichergrößen, die ein Vielfaches von 1024 sind.

herbivore
private Nachricht | Beiträge des Benutzers
ayykaramba
myCSharp.de - Member



Dabei seit:
Beiträge: 10

Themenstarter:

beantworten | zitieren | melden

Kannst du das genauer erklären? Gibt es immer noch Bereiche wo bitweise gespeichert wird? Welche sonstigen Vorteile bietet es?
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von ayykaramba am .
private Nachricht | Beiträge des Benutzers
trib
myCSharp.de - Member



Dabei seit:
Beiträge: 691

beantworten | zitieren | melden

Es wird nach wie vor alles bitweise gespeichert.
Sowohl die Funktionsweise einer Festplatte (HDD) oder einer Speicherkarte / SSD basiert auf dem Konzept "kleine Schalter" an oder aus zu schalten. Ob das nun über Magnetisierung oder Gatter + Transistoren funktioniert, spielt erstmal keine Rolle.
Auch CD´s, DVD´s oder Bluray´s speichern nur eine Folge von an & aus, welche von einem Laser abgetastet werden.

Werden diese Daten nun übertragen, egal ob per Kupfer oder Lichtwellenleiter, geschieht dies durch Impulse. Man kann schließlich keine "5" durch ein Kabel schicken, sondern nur Strom oder keinen Strom => Binär.

Das System dahinter "entscheidet" dann über den Clock und die Bitgröße wann eine Übertragung vollständig ist.
Der Clock gibt den Takt vor, damit man z.B. zwei aufeinanderfolgende Nullen (aus) oder Einsen (an) feststellen kann. Quasi die Zeit, die man jedem Bit zur Übertragung gibt.
Die Bitgröße legt dann fest, wie groß ein Datenpaket ist.
Wenn auf einem 64bit Computer "3 + 5" berechnet werden soll, werden trotzdem zwei 64bit große Zahlen an den Prozessor gesendet. Vorne dann eben mit Nullen aufgefüllt.

Es ist also nicht ein Vor- oder Nachteil auf das Binärsystem zu setzen, sondern eine physikalische Gegebenheit, wie Computer funktionieren.

Und das Binär, bzw. Hexadezimalsystem ist die logische Schlussfolgerung mit diesen Nullen & Einsen "unsere" lesbaren Zahlen darzustellen. Und zwar so optimal, dass sie so wenig Platz verbrauchen wie nötig.

Mit 8 bit, also 8 Nullen oder Einsen, kann ich alle Zahlen von 0 - 255 (also 256 Zustände) darstellen.
Und das System basiert nun mal auf der Verdopplung: 1, 2, 4, 8, 16, 32, 64, 128*.
Möchte ich nun eine " 5 " darstellen, hake ich binär die 1 und die 4 an: 1010000
Brauche ich eine " 44 " nehme ich die 4, 8 & 32: 00110100
Führe ich diese Reihe nun weiter, lande ich bei 1024 und eben nicht bei 1000.


*Natürlich wird das Binärsystem andersherum von 128 - 1 dargestellt!
Dementsprechend stellt eine 00000001 eine 1 dar und die 10000000 die 128.
private Nachricht | Beiträge des Benutzers