Zum Inhalt springen

Bytes - Präfix Umrechnung immer noch mit 1024, warum?


Empfohlene Beiträge

Hallo zusammen,

ich habe mich jetzt schon intensiver mit den Präfixen für Bytes mit den jeweiligen Umrechnungen Binär / Dezimal beschäftigt.

Jetzt habe ich aber in Frage gestellt, warum heutzutage für den Benutzer immernoch mit 1024 bzw. Kibibytes usw. gearbeitet wird, und hoffe, dass mir das jemand näher erläutern kann.

Hier meine Sichtweise auf das Thema:

- Zum einfachen erstellen von Speicherbausteinen z.B. Arbeitsspeicher hat man diese ja in Zweierpotenzen erweitert, bis schließlich zu 2^10 (10 Verdopplungen) = 1024. Bei 2^20 schon 1048576.

Jetzt gehe ich davon aus, dass man zur vereinfachten Darstellung großer Zahlen sich Präfixe zunutze machen wollte und damit bei Kilo / Mega usw. keine Kommazahlen, sondern ganze Zahlen (1) angegeben wurden rechnete man einfach mit *1024 hatte dann z.B. 1024*1024= 1 Megabyte bzw. 1 Mibibyte und nicht 1,048576 Megabyte.

Jetzt habe ich aber bei meiner 500GB Festplatte und 4GB USB stick gesehen,

dass diese tatsächlich 500.105.216.000 bzw. ca. 4.000.000.000(USB-Stick) echte Bytes haben.

Deshalb gehe ich davon aus, dass diese Speichermedien ohne die Dopplungen / zweierpotenzen erstellt wurden. Hier lässt sich auch der Vorteil von 1024 nicht erkennen, da bei Umrechnung von bytes auf Mibibyte usw. immer Kommastellen herauskommen.

Weshalb rechnen die meisten Betriebssysteme denn trotzdem in Gibibyte usw. um?

Wem bringt das einen Vorteil? Beim Arbeitsspeicher vielleicht - Aber bei anderen Medien, die der Normalverbraucher benutzt doch nicht?:confused:

Wenn alle Betriebssyteme in echten Gigabytes also Milliarde Bytes anzeigen würden, gäb es doch auch keine Verwirrung mehr bei Festplatten und USB sticks, sowie bei der Datentransfer-Berechnung.

Ich hoffe ihr könnt mir Antworten zu dieser Fragestellung geben und bedanke mich jetzt schon für eure Antworten.

Gruß

Marvin

Bearbeitet von Nivram
Link zu diesem Kommentar
Auf anderen Seiten teilen

interessante frage - glaub ich - denn so ganz genau habe ich nicht verstanden, was du willst.

ich versuch mich mal an einer erklärung.

wir rechnen in der regel alles alltägliche im 10er-system (wahrscheinlich habe wir deswegen auch 10 finger;)) (ausnahme: uhrzeit, ....)

um lange zahlen zu vermeiden gibt es die präfixe, die z.b. 3 nullen als "kilo" oder 6 nullen als "mega" bezeichnen.

"speichermedien", wie sie seit 60 in computern eigesetzt werden kennen aber nur zwei zustände: land - pit; loch - kein loch, geladen - nicht geladen, magnetisiert - nicht magnetisiert, relais offen - relais geschlossen ...............

als ist das einzig sinnvolle zahlensystem das binäre, also das 2er-system. um große zahlen aussprechbar zu machen, gibt es auch hier präfixe: spezielle binär-präfixe, die an die si-präfixe angelehnt sind.

eben diese anlehnung wird dich verwirren.

schau dir mal das hier an. vermutlich ist dir dann die ganze sache klar.

der fachman MEINT IMMER "kibi", "mebi", "gibi" wenn er von "kilo", "mega" oder "giga" spricht. aber da lieschen müller nichts versteht von binär-präfixen kann man im medi-markt nur festplatten mit 500 Gigabyte kaufen.

zur zeit der diskette war das noch relativ wurscht, aber bei den heutigen speichergrößen ist der unterschied zwischen Tera und tebi zu hoch, dass es an betrug grenzen würde, wenn man eine platte mit falsch bezeichnet. vermutlich deshalb haben 500 gigabyte festplatten "echte" 500 GB, als 500 GiB.

alle klarheiten beseitigt?:cool:

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hey,

danke erstmal für deine Antwort.

Habe das mit den Dezimal und Binär-Präfixen verstanden und auch, dass oft kilo gesagt aber kibi gemeint ist. Auch das man Festplatten für den Benutzer um sozusagen Betrug zu verhindern jetzt z.B. mit 500 "echten" GB herstellt ist schlüssig.

Trotzdem kann ich die Verwendung bzw. die Angabe von GiB (die ja fälschlicherweise z.B. hier auf meinem Windows GB, also den Dezimalen Präfix hat)

vom Sinn sowie auch vom wirklichen Zweck nicht nachvollziehen.

Ich kann es nachvollziehen bei:

-Bits und der Anzahl an Zuständen: Mit einer handvoll Bits lassen sich ja die möglichen Zustände nur in zweier Schritten nennen, also 2,4,8 usw.

Jedoch sind die möglichen! Zustände nicht 3 oder 6. Deshalb ist das sinnvolle Zahlensystem das Binäre, kann ich verstehen.

-Herstellung von Speicherbausteinen: Da das Verbinden gleicher Bausteine wohl einfacher war, wenn man immer zwei Bausteine zusammengefasst, hat man hier wohl auch immer 2,4,8 usw. genommen, bis z.B. 1024, wo sich langsam ein Präfix lohnt und zur nähe an die 1000 man einfach Kilo genommen hat, da noch keine Binärpräfixe vorhanden. Kann man auch nachvollziehen :)

Was ich allerdings nicht verstehe:

-Bei der Angabe von Speicherplatz und Dateigrößen, geht es mir doch eigentlich nur darum das beides zusammen passt, ich mir ein Bild davon machen kann wie viele Dateien ich auf ein bestimmtes Medium packen kann, wie schnell die Übertragung geht.

Damits nicht 537944653824 gebe ich dann doch am besten einfach echte 537GB an und bin happy.

Von hier komme ich als normaler Mensch ganz einfach wieder auf Bits, könnte mir dort mögliche Binäre Zustands-Möglichkeiten berechnen.

Ansonsten ist für mich, Lieschen Müller, ein Bit doch nur sowas, wie eine Einheit, ein Gegenstand, 1.

Wo ist also bei Speicherplatz / Dateigröße der Bedarf an Binärer Umrechnung - Kann die moderne Festplatte nur Binär in Speicherkapazität wachsen kann eine Datei nur Binär Bytes zum speichern "reservieren"?

Habe ich hier etwa einen Denkfehler, haben Fachleute einen Vorteil (Außer die oben erwähnten Bausteine und möglichen Zustände) Speicherkapazitäten Binär zu berechnen und machen sich keine gedanken um Lieschen Müller?

Danke für erhellende Antworten :)

Link zu diesem Kommentar
Auf anderen Seiten teilen

ich weiß immer noch nicht so genau, worauf du hinaus möchtest:confused:

vielleicht erhellt dich dich dieser wiki-artikel: Byte

letztlich läuft es darauf hinaus, dass informationen nur in 2 zuständen gespeichert werden können: 0 + 1, als zur basis 2. also musst du binärpräfixe benutzen. wie willst du den kilo, also 1000 darstellen? dezimal wäre es 'x mal 10³', aber binär? du kommst ja von 2^9=512 mit dem nächsten schritt direkt auf 1024 (=2^10)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Hm, deswegen hat meine Festplatte auch 500.105.216.000 Bytes, da binär aufgebaut und nicht 500.000.000.000?

Jedoch kann ich doch auch eine 3 byte 7 byte und 11 byte große Datei auf der Festplatte haben, sollten doch bei binärer Adressierung nicht nur 4,6 8 oder sogar 4,8 und 16 byte Große Dateien ergeben?

wie willst du den kilo, also 1000 darstellen?

Ich kann doch Dezimal auch z.B. 133 darstellen und nicht nur 10². Und Byte hat doch eine Wertigkeit, wie z.B. das 265 Farben Pixel, das ein Byte belegt.

Für mich sind Bytes Boxen für Äpfel, mit jeweils 8 freien Plätzen.

Jetzt möchte ich doch nur die Kisten zählen.

Um jetzt zu zählen wieviel verschiedenes Apfelmus ich aus (den jeweils verschiedenen Apfelsorten) herstellen könnte, wären ja 265 verschiedene Apfelmus die möglich wären, hier wäre es ja wieder Binär. Mehrere Apfelmus ergeben dann z.B. einen Großen Kompott, den ich an Kantinen verkaufe (Datei/ Programm).

Mein LKW hat 1024 Boxen-Schubladen, weil es bei der Schubladenherstellung einfach war wen eine Person immer zwei mit einander verbunden hat, also 1 Schublade + 1 Schublade, der nächste 2+2 zusammengeschweißt hat usw.

Weil das der LKW Fahrer aber nicht versteht, hat man die schöne Herstellung der Schubladen umgekrempelt und stellt jetzt immer knapp 1000er LKW her.

Ist meine Sichtweise so falsch?, kann man das so nicht übertragen? Für mich wäre das Dezimale Zählen der Boxen das logischste, da es auch 3 Byte Dateien gibt wird mein OS das doch auch Adressiert haben und nicht 2,4,8 ?

Die Verknüpfung zwischen Binär und Äpfel-Boxen zählen fehlt mir hier.

Bearbeitet von Nivram
Link zu diesem Kommentar
Auf anderen Seiten teilen

letztlich läuft es darauf hinaus, dass informationen nur in 2 zuständen gespeichert werden können: 0 + 1, als zur basis 2.

OT: Ich bin jetzt mal gemein und sagt ich kann in Bytes auch mehrere Zustände speichern und das klassische True / False muss man nicht immer haben, man kann auch mehrwertige Logiken haben siehe Fuzzylogik

back 2 topic: Fang mal bitte auf Bitebene an. Mit einem Bit kann ich 2 Zustände speichern, 0 und 1 (bzw rein formal definiert man 0 = false und ungleich 0 = true), d.h. in einem Byte kann ich 256 verschiedene Zustände speichern (0 bis 2^8-1 = 255)

Du musst bei Deiner Argumentation unterscheiden, wie viele Bytes Dein Speichermedium enthält, das wären dann 1,2,3,4,5..1000 weil ich einfach zähle, damit hast Du den Umbruch bei 1000 bzw deren Vielfachen Und wie viele verschiedene (Bit)Zustände kann nun diese Anzahl an Bytes haben, also wie viele verschiedene 0 / 1 Kombinationen sich darstellen lassen, da wäre der Umbruch bei 1024. Also wenn ich ein Kilobyte Daten habe, dann sind das 1000 Byte, damit kann ich dann 1000 * (2^8-1) verschiedene Zustände von 0/1 speichern (bzw umgekehrt analog)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Daraus erschließt sich für mich doch:

Zustände = Binär (2^8-1) (Da ja Binär aus mögl. Zuständen mit 8 Bits im Byte errechnet)

Speichermenge: Dezimal 1000 Byte (Da einfach Anzahl der vorhandenen Bytes)

Also wenn ich ein Kilobyte Daten habe, dann sind das 1000 Byte, damit kann ich dann 1000 * (2^8-1) verschiedene Zustände von 0/1 speichern (bzw umgekehrt analog)

Genau, deshalb kann man mit Kilobyte ja besser die Zustände berechnen.

Mit Kibibyte ist ja selbst das berechnen von Zuständen aufwändiger, da ich als Dezimal-Mensch (Mit 10 Fingern) 12Kibibyte erstmal umrechnen muss bevor ich einfach die Zustände errechnen kann - Trotzdem gibt das OS die binär umgerechneten KibiBytes an - "Sinn??"

Bearbeitet von Nivram
Link zu diesem Kommentar
Auf anderen Seiten teilen

Trotzdem gibt das OS die binär umgerechneten KibiBytes an - "Sinn??"

Auch das stimmt nicht ganz, das OS gibt die Größe des belegten Blocks auf dem Datenträger an (siehe Dateisystem ). Bei kleinen Dateien wird, obwohl sie nicht den Block ganz füllen trotzdem ein Block verwendet, weil das System eben blockorientiert arbeitet, d.h. kleine Dateien benötigen mehr Speicherplatz als sie real haben. Um den Verlust, der entsteht gering zu halten, gibt es verschiedene Strategien (bei Windows wird z.B. die Datei innerhalb MFT gespeichert, siehe NTFS )

Sehr kleine Dateien und Verzeichnisse werden in der MFT direkt abgespeichert. Größere Dateien werden dann als Attribut in einem Datenlauf gespeichert.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Danke für die erläuterung und die Verweise. Auch wenn bei Wikipedia die Infos auf einer gewissenen Ebene bleiben und nicht alles ins Detail erläutert wird, gut das grundlegend mal gelesen zu haben :)

Das mit den Blöcken / Clustern sehe ich jetzt auch an meiner 3Byte-Datei, die auf dem Datenträger 4096Bytes belegt.

Wow - Und ich glaube das erweiterte Wissen hilft meinem Verständnis sogar weiter (Wie ich schon fast vermutet habe)

Ich kann mir zwar immer nocht ganz erklären, warum z.B. ein Block aus zweierpotenzen von Bytes besteht, da man ja hier eigentlich nur ein vielfaches eines Bytes also mehrere Bytes zusammen schließt (Beim Bit entsteht das Zweiersystem bedingt durch zwei zustände)

Da es sich aber aus Performance und Verwaltungsgründen (wie im Wiki beschrieben) rentiert hat und das dann auch für die Clustergrößen eine Rolle spielt kann ich das an der Stelle nachvollziehen.

Und sehe jetzt endlich auch mal einen Sinn bei der Verwendung von Kibibytes

(Die ja leider fälschlicherweise Kilo als Präfik bei Windows haben - Oder meint mit KB (großes K) wohl wirklich Kibi), Da die durch Cluster bedingte kleine Text-Datei jetzt schön als 4KB statt 4,096 angezeigt wird :)

Da stellt sich mir nur gleichzeitig wieder die Frage ob bei der Datenübertragung jetzt mit der Größe der Cluser, die ja auf dem Zielmedium auch sind oder der eiegentlichen Dateigröße (Textdatei kit 3Bytes - Weitere Information außer die Buchstaben selbst sind in der Dateigröße ja bestimmt schon mitberechnet wie z.B. JPEG Datei mit 1 Pixel, die aber deutlich größer als 1 Byte ist - gerechnet wird. Aber das ist glaube ich wieder eine andere Geschichte.

Danke für eure Antworten ;)

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn man sich immer im Hinterkopf behält, dass es in der Digitaltechnik nur 2 wirkliche Zustände (an oder aus, 1 oder 0) gibt, dann sollte man eigentlich auch verstehen, wieso immer mit Vielfachen von 2 gerechnet wird und nciht mit dem Zehnersystem.

Dein Betriebssystem rechnet ja auch nicht vom Dezimalystem ins Binärsystem um, sondern bleibt einfach im Binärsystem. Was man dann letztendlich angezeigt bekommt, ist aufgrund der einfacheren Lesbarkeit für uns Menschen halt ins Dezimalsystem umgewandelt. Intern gerechnet wird damit in einem PC aber wohl nie.

Hersteller von Speichermedien geben die Größe meist in Kilobyte / Megabyte / Gigabyte / Terabyte an, weil es dann nach mehr aussieht.

1Terrabyte wäre ja weniger als 1 Tebibyte. Dementsprechend sieht es, wenn man die Angabe in Terabyte macht mehr aus. Einfache MArketinggründe also, die dafür sprechen. Der unbedarfte Kunde denkt sich, es wäre Tebibyte gemeint (da er den Begriff Tebibyte meist gar nicht kennt, sondern nur Terabyte) und freut sich über so viel Platz. Der Hersteller hält sich an die Konventionen und freut sich, dass er dem Kunden ein Schnippchen schlagen konnte, für das er nicht einmal verklagt werden kann, denn er hat ja die Angabe richtig gemacht, selbst wenn der Kunde sich etwas anderes dabei denkt.

Bei der Datenübertragung werden nur die Nutzdaten der Datei übertragen und nicht die Größe, die sie auf dem Datenträger belegt. Das wäre auch nicht sonderlich sinnvoll, denn ein Block kann mal 4KByte groß sein, kann aber genauso z.B. auch 16KByte groß sein (halt ein Vielfaches von 2 wieder). Ich meine es gab auch Blockgrößen von 512 Byte damals. Aufgrund der schnelleren Lesbarkeit und aufgrund des rasch anwachsenden Speichervolumens und der Adressierbarkeit der Blöcke musste ein kompromiss gefunden werden zwischen kleiner Blockgrösse (sparsame Belegung des Datenträgers) und der Zugriffsgeschwindigkeit und Adressierbarkeit. Aus dem Grunde gibt es ja auch z.B. Unterschiede in der maximalen Größe einer Datei oder Partition zwischen z.B. den Dateisystemen FAT16, FAT32, NTFS4, NTFS5, ReiserFS, Ext2, Ext3, ...

Es kann bei der Datenübertragung jedoch dennoch sein, dass "Leerdaten" übertragen werden, falls bestimmte feste Paketgrößen festgelegt sind.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Wenn man sich immer im Hinterkopf behält, dass es in der Digitaltechnik nur 2 wirkliche Zustände (an oder aus, 1 oder 0) gibt, dann sollte man eigentlich auch verstehen, wieso immer mit Vielfachen von 2 gerechnet wird und nciht mit dem Zehnersystem.

Das ist nicht korrekt, im VHDL sind die Zustände, Low/High, True/False und Undefined in Verwendung. Also im Sinne der "Digitaltechnik" würde ich das so nicht unterstützen. Im Rahmen der boolschen Logik natürlich so schon stimmig.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dahinter stecken aber dann doch im Endeffekt doch wieder Einsen und Nullen, oder?

Per VHDL oder auch per Verilog oder ABEL beschreibt man ja das gewünschte Verhalten einer Schaltung auf einer anderen Ebene als der Hardwareebene, nicht jedoch wie die Schaltung dann letztendlich physikalisch aufgebaut sein muss. Zumindest habe ich das bisher so verstanden. Korrigiere mich bitte, wenn es anders sein sollte.

Ob man einen Zustand nun Low/High, True/False, 1/0, an/aus nennt ist doch vollkommen irrelevant. Oder gibt es dort diese Zustände parallel zueinander? :confused:

Ein Transistor z.B. kennt halt nur zwei Schaltzustände. Entweder lässt er den Strom durch, oder er blockiert diesen. Von daher gibt es halt physikalisch auch nur die entsprechenden zwei Zustände.

Und auf einem Datenträger kann man pro "Zelle" auch nur 2 Zustände speichern, was entweder 1 oder 0 entspricht.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Ein Transistor z.B. kennt halt nur zwei Schaltzustände. Entweder lässt er den Strom durch, oder er blockiert diesen. Von daher gibt es halt physikalisch auch nur die entsprechenden zwei Zustände.

Das ist die "perfekte" Annahme, real ist das aber nicht so. Gerade wenn eine Schaltung von einem in den anderen Zustand wechselt dann wird hier keine Deltafunktion umgesetzt, sondern eine Sigmoidfunktion, d.h. wenn eben der physikalische Stomfluss eine Grenze überschreitet, dann gilt dieser Zustand als 1 oder eben unterschreitet als 0. Aber der Zustand zwischen 1 und 0 ist eben undefiniert. Low/High beziehen sich nicht auf 1/0 sondern auf das Potential, d.h. es ist von der konkreten Schaltung abhängig, wie eben diese Bedeutung anzusehen ist.

In der physikalischen Umsetzung gibt es nicht 0 und nicht 1, sondern es gibt eine Menge an unterschiedlichen zusätzlichen Strukturen, die man eben beim Entwurf der Schaltung beachten muss. Auch die Annahme 1 ist immer 1 ist falsch, letztendlich ist die Spannung nicht perfekt konstant. Analog ist es auf einem physikalischen Datenträger, man definiert auf dem physikalischen Medium einen Zustand als 1, wenn er eine physikalische Messgröße ein Grenze überschreitet und als 0, wenn die Grenze nicht überschritten ist.

Die perfekte Annahme eines binären Zustandes gibt es nur in der Mathematik, aber nicht in der Realität

Link zu diesem Kommentar
Auf anderen Seiten teilen

Die perfekte Annahme gibt es vielleicht nur in der Mathematik. Eine eindeutige Auslegung, ob ein Wert nun für 1 oder 0 steht gibt es dennoch, da festgelegt wird, wann ein Wert als 1 und wann als 0 zu gelten hat. Von daher gibt es auch in meinen Augen keine "Zwischenwerte", denn wenn z.B. definiert ist, dass eine Spannung < 10V für eine 0 stehen soll und eine Spannung ab 10V für eine 1 stehen soll, wo sind da dann Unklarheiten? :confused:

Ist auch klar, dass ein Transistor nicht einen Sprung macht, sondern dass die Stromstärke, die durchgelassen wird schnell, aber nicht sprunghaft ansteigt, genauso wie sie z.B. bei einem Kondensator schnell aber nicht mit Sprüngen sinkt, wenn er sich entlädt.

Nur entweder hat man eine Festlegung, was welcher Wert zu bedeuten hat, oder man hat sie nicht. Sollte man einen undefinierten Bereich haben, so ist das Sache der Definition.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Von daher gibt es auch in meinen Augen keine "Zwischenwerte", denn wenn z.B. definiert ist, dass eine Spannung < 10V für eine 0 stehen soll und eine Spannung ab 10V für eine 1 stehen soll, wo sind da dann Unklarheiten?

Jain, wenn eine Schaltung in Hardware gegossen wird, dann hat man mit diesen Zwischenwerten zu tun, konkret beim Wechseln von einem in den anderen Zustand, die Probleme die daraus entstehen nennen sich Hazard (logic) - Wikipedia, the free encyclopedia

Link zu diesem Kommentar
Auf anderen Seiten teilen

Dein Kommentar

Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.

Gast
Auf dieses Thema antworten...

×   Du hast formatierten Text eingefügt.   Formatierung wiederherstellen

  Nur 75 Emojis sind erlaubt.

×   Dein Link wurde automatisch eingebettet.   Einbetten rückgängig machen und als Link darstellen

×   Dein vorheriger Inhalt wurde wiederhergestellt.   Editor leeren

×   Du kannst Bilder nicht direkt einfügen. Lade Bilder hoch oder lade sie von einer URL.

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...