Soll ich lehren, dass 1 kB = 1024 Bytes oder 1000 Bytes?

Welche Konvertierung soll ich meinen Studenten unterrichten? Diese 1 kB sind 1024 Bytes (binär), wie jeder in den neunziger Jahren erfahren hat, oder die kürzlich von der Industrie geführte „freundliche“ Konvertierung, die besagt, dass 1 kB tatsächlich 1000 Bytes (dezimal) ist?

Mein unmittelbares Gefühl geht in Richtung der binären Konvertierung, aber wenn IEC etwas anderes sagt und wichtige Betriebssysteme sich für die Dezimalkonvertierung entscheiden (Mac OS X ≥ 10.6 und Ubuntu ≥ 10.10 verwenden jetzt die SI-Präfixe Ich bin mir nicht mehr so sicher.

Kommentare

  • Bitte beachten Sie, dass das SI-Präfix “ kilo “ wird immer in Kleinbuchstaben geschrieben “ k “ div Ich persönlich bin es gewohnt, “ kB “ zu sehen, auch wenn es streng genommen nicht ‚ ta SI-Präfix.
  • xkcd
  • Ram wird in kiB, Mib, GiB und Festplatten eingelöst kB, MB, GB. Beide werden häufig als kB, M bezeichnet B, GB. Es geht also nicht immer um Programmierung.
  • Was ich amüsant finde, ist die Zweierpotenz-Version (Die, die ‚ klar ist, was normalerweise gewünscht wird ) hat keinerlei Rechtfertigung für die Verwendung des Präfixes “ Kilo “ – es ‚ s nur, dass eine willkürliche Zweierpotenz einer willkürlichen Potenz von 10 ziemlich nahe kommt, also ignorieren wir den Unterschied, um “ K “ (oder “ M “ oder “ G „), weil “ 0x0200 “ abyte zu schwer zu sagen ist.
  • Byte ist keine SI-Einheit. Die SI-Einheit für die Menge ist der Mol. 1 GB entspricht ungefähr 1,66 Femtomol-Bytes.

Antwort

Sie sollten beide unterrichten und möchten wahrscheinlich die verwenden binäre Einheit. Wenn Sie über den Unterschied sprechen, kann es hilfreich sein, ihnen zu erklären, wie sie den Unterschied beim Lesen erkennen können:

Das SI-Kilo ist k :
$ 1 \ \ text {kB (Kilobyte)} = 10 ^ {3} \ \ text {bytes} = 1000 \ \ text {bytes} $

Während das binäre Kibi- Ki :
$ 1 \ \ text {KiB (kibibyte)} = 2 ^ {10} \ \ text {bytes} = 1024 \ \ text {bytes} $

Ich stelle fest, dass Sie in Ihrer Frage KB verwendet haben, um auf beide Größen zu verweisen. Vielleicht sollten Sie auch darauf hinweisen, dass KB als eines dieser Präfixe interpretiert werden kann (obwohl Wikipedia vorschlägt , dass es am häufigsten anstelle von KiB verwendet wird). In Ihrer Position würde ich vorschlagen, zu klären, welche Sie meinen, wenn Sie diese Notation verwenden.

(Während Sie verwirrende Einheiten durchgehen, besteht ein verwandter Unterschied bei den Schreibeinheiten darin, dass Kleinbuchstaben b Bits sind, Großbuchstaben B. ist Bytes; ein achtfacher Unterschied ist viel bedeutender als 2,4%.)

Kommentare

  • Abgesehen davon, dass Sie nur beide unterrichten, müssen Sie das k / kilo kann entweder abhängig vom Kontext bedeuten / wer ‚ verwendet es. Nur weil kibble existiert, ist ‚ t nicht vorhanden meine Leute mögen es oder verwenden es tatsächlich.
  • Wenn Sie Bits und Bytes abdecken, sollten Sie auch zumindest kurz erwähnen, dass ein “ Kilobit “ ist fast immer 1000 Bit (weil Netzwerk) und ein “ Kilobyte “ ist fast immer 1024 Bytes (weil alles -ausgenommen für die Vernetzung).
  • 1 MB ist ca. 5% größer als 1 MB, 1 GB ist 7,4% größer als 1 GB und 1 TB ist fast 1 y 10% größer als 1 TB.
  • Mir wurde immer beigebracht, dass die Basis binär ist, ein 8-Bit-Wort ein Byte ist, ein 16-Bit-Wort zwei Bytes ist und gemäß der binären Konvention 1 KB 1024 Bytes sind , 1 MB ist 1024 KB, 1 GB ist 1024 MB, 1 TB ist 1024 GB – und in Binär, der Basiseinheit des Rechnens, ist dies absolut sinnvoll. Ich habe immer versucht, die versuchte Übernahme der SI-Verwendung als falsche und unnötige Verwirrung zu betrachten. Als Pädagoge muss ein Schüler die Verwirrung verstehen.
  • “ Sollte ich lehren, dass 1 KB = 1024 Bytes oder 1000 Bytes ? “ Ja. 🙂

Antwort

Sie sollten ihnen beibringen, dass es irreparabel durcheinander ist , und es ist die Aufgabe ihrer Generation, das zu lehren Die nächste Generation verwendet die albern klingenden Standardpräfixe , damit sie dort endgültig in den Ruhestand gehen (und die aktuellen Oldtimer dauerhafter aus dem Argument entfernt werden) kann schließlich ein Konsens sein.

Nach dem derzeitigen Stand der Dinge sind alle Präfixe ohne Kontext nicht erkennbar.Ein Netzwerk-Megabit ist $ 10 ^ 6 $ Bits, ein Dateisystem-Megabyte ist $ 2 ^ {20} $ Bytes, ein Festplatten-Megabyte ist irgendwo ziemlich nahe an $ 10 ^ 6 $ Bytes und ein Megapixel ist „wahrscheinlich eine Million Pixel, wen interessiert das?“ „

Kommentare

  • Der Konsens scheint zu sein, dass die Festplattengröße die nächste einfache Annäherung ist, die niedriger als n × 1000 ^ m. 2,057 × 10 ^ 12 Bytes würden als 2 TB und nicht als 2,1 TB angekündigt.
  • I ‚ d beachten Sie, dass die Präfixe selten (im Grunde nie) ihre binäre Bedeutung mit anderen Einheiten als Bytes haben. Ein Megapixel ist 1 Million Pixel, ein Megabit ist eine Million Bit.
  • Das Megabyte des Dateisystems beträgt $ 2 ^ {20} $ Bytes – vielleicht. Manchmal wird im selben Betriebssystem ‚ “ Megabyte “ (einschließlich Dezimalgenauigkeit) angezeigt. $ 10 ^ 6 $ in einigen Tools und $ 2 ^ {20} $ in anderen. Meistens in Befehlszeilentools im Vergleich zu GUI-Tools, aber ich kenne ein Betriebssystem, in dem selbst verschiedene vom Betriebssystem bereitgestellte GUI-Tools diesbezüglich nicht übereinstimmen …

Antwort

Eigentlich müssen Sie beide unterrichten, damit sie gewarnt werden, dass die Verwendung nicht konsistent ist. Dann können Sie in Ihrem zukünftigen Kurs einen als Standard auswählen.

Welche Sie wählen, hängt ein wenig davon ab, was Sie unterrichten. Wenn es darum geht, Festplatten usw. zu bewerten, funktioniert $ K = 1000 $ jetzt. Für die meisten Programmierungen ist jedoch wahrscheinlich $ K = 2 ^ {10} = 1024 $ am besten.

Leider ist die doppelte Bedeutung wahrscheinlich darauf zurückzuführen, dass Hersteller versuchen, Verwirrung in den Köpfen nicht anspruchsvoller Kunden zu vermeiden.

Kommentare

  • Kilobyte wurde 1998 weit vor dem 1.000-Byte-Kilobyte geprägt. Die IEC hat wirklich nur ein Durcheinander gemacht.
  • Ja, aber kilo = 1000 geht auf das Jahr 1795 zurück: etymonline.com/word/kilo- Nicht-Geeks haben hier vielleicht Vorrang. Aber was noch wichtiger ist: Wenn Sie ihnen nur das eine als “ richtige Sache “ beibringen, richten Sie sie später für Verwirrung ein. Die Welt ist chaotisch. Lehrer sollten nicht ‚ so tun, als wäre es nicht ‚ t. Dogmatisch zu sein ist ‚ nicht sehr hilfreich.
  • Auch kB / KB ‚ hilft nicht bei MB, GB, TB, die a) viel relevanter sind b) viel größere Unterschiede aufweisen.
  • “ Leider ist die doppelte Bedeutung wahrscheinlich darauf zurückzuführen, dass Hersteller versuchen, Verwirrung in der Branche zu vermeiden Köpfe nicht anspruchsvoller Kunden “ Wahrscheinlicher ist es, dass Werbetreibende möchten, dass ihr Produkt größer klingt als es wirklich ist. Warum für eine 3-TB-Festplatte mit den richtigen 1 TB = 1024 * 1024 * 1024 * 1024 Byte werben, wenn Sie eine 3,3 TB-Festplatte mit den vom Anwalt zugelassenen 1 TB = 1000 * 1000 * 1000 * 1000 Bytes bewerben können? 3.3 ist größer als 3, oder?
  • @Readin Oder, wie ich es öfter sehe, ein 3-TB-Laufwerk, das tatsächlich über 2,7 TB Gesamtspeicher verfügt.

Antwort

Der Unterschied besteht darin, Ihren Schülern eine angemessene Diskussion über dieses Thema zu bieten und ihnen einfach das eine oder andere beizubringen Der Unterschied zwischen einem echten Pädagogen und einem Rezitator von Faktoiden.

Wenn es für Sie keine einzige korrekte Definition von KB gibt, warum sollten Sie Ihren Schülern dann etwas anderes einflößen? Die Antwort auf Ihre Frage liegt also auf der Hand. Ihre Verantwortung als Lehrer ist es, ein Verständnis für das Problem zu vermitteln und es nicht auf die eine oder andere Tatsache zu reduzieren, von der Sie wissen, dass sie nicht wahr ist.

Kommentare

  • Ich stimme zu, aber bevor ich eine angemessene Diskussion mit meinen Schülern anbiete, ‚ biete ich hier eine ordnungsgemäße Diskussion an, was in erster Linie meine Absicht war ( anstatt einfache die eine oder andere Antwort zu erhalten).

Antwort

Ja Ich stimme anderen Antworten zu, unterrichte beide und stelle auch die Ähnlichkeit fest.

Der Unterschied

  • $ \ text {ki} = 1024 = 2 ^ {10} $
  • $ \ text {k} = 1000 = 10 ^ 3 $
  • $ \ text {k}, \ text {M}, \ text {G}, \ text {T}, \ text {P} $ wird manchmal verwendet, um $ zu bedeuten \ text {ki}, \ text {Mi}, \ text {Gi}, \ text {Ti}, \ text {Pi} $

Die Ähnlichkeit

  • $ 1 = \ text {k} ^ 0 $ und $ 1 = \ text {ki} ^ 0 $
  • $ \ text {k} = \ text {k} ^ 1 $ und $ \ text {ki} = \ text {ki} ^ 1 $
  • $ \ text {M} = \ text {k } ^ 2 $ und $ \ text {Mi} = \ text {ki} ^ 2 $
  • $ \ text {G} = \ text {k} ^ 3 $ und $ \ text {Gi} = \ text {ki} ^ 3 $
  • $ \ text {T} = \ tex t {k} ^ 4 $ und $ \ text {Ti} = \ text {ki} ^ 4 $
  • $ \ text {P} = \ text {k} ^ 5 $ und $ \ text {Pi} = \ text {ki} ^ 5 $
  • $ \ text {E} = \ text {k} ^ 6 $ und $ \ text {Ei} = \ text {ki} ^ 6 $

Schnelle Mathematik

$ 64 \ text {bits} = (6 \ times 10 + 4) \ text {bits} = \ text {ki} ^ 6 \ times 2 ^ {4} = 16 \ text {Ei address} $

Dies hat einige Ähnlichkeiten und Unterschiede mit dem Basis-10-System, das sie kennen sollten. Zuerst teilen wir es in 10er-Blöcke (statt 3) auf, der Rest wird nur in Basis 10 konvertiert, der Rest ist der gleiche.

Wo verwendet (hauptsächlich)

wichtig zu zeigen, wo die 2 Systeme verwendet werden. Während einige Antworten besagen, dass sie das auf $ 1000 $ basierende SI-System, das beim Rechnen verwendet wird, noch nie gesehen haben. Es stellt sich heraus, dass das SI-System häufig verwendet wird, abhängig davon, was gemessen wird.

  • IEC 60027-2 A.2 und ISO / IEC 80000, z. $ \ text {ki} $ :
    • Maße des Primärspeichers: RAM, RAM, Cache.
    • Maß der Dateigröße , Partitionsgrößen und Festplattengrößen innerhalb des Betriebssystems.
  • SI-Einheiten, z $ \ text {k} $ :
    • Maße für sekundäre Speichergeräte: Festplatten, SSDs.
    • Netzwerkgeschwindigkeit.
    • CPU- / Speicher- / Busgeschwindigkeiten.
    • alle anderen Geschwindigkeiten.
  • Allerdings wird das Symbol $ \ text {ki} $ wird derzeit nicht immer verwendet.


    siehe auch https://en.wikipedia.org/wiki/Binary_prefix

    Kommentare

    • Diese Antwort wirft die Frage auf.
    • @prl Wenn Sie der Frage ausweichen wollen (eine andere Frage beantworten), dann sind Sie teilweise richtig. Ich versuche, andere Antworten zu erweitern. Und um einige Ratschläge zu „Wie“ zu geben, wo die Frage „Welches“ lautete.
    • IMO ist dies die beste Antwort, aber sie könnte durch die explizite Erwähnung des Stils leicht verbessert werden . Das heißt, Ebenso wie es verschiedene Stile zum Zitieren von Papieren oder zum Abgrenzen von Listen (siehe Oxford-Komma) gibt, gibt es verschiedene Stile zum Formatieren von Zahlen. In einer IEC-Veröffentlichung nach 2000 können Sie davon ausgehen, dass der Hausstil SI / * bi sein wird. Andere Organisationen / Verlage verwenden möglicherweise andere Stile.
    • Ziemlich gute Antwort. Zwei Nitpicks: 0) Verwenden Sie für alle Präfixe (k, M, Mi, Gi usw.) den römischen Typ, nicht kursiv; Ich schlage vor, \text{} zu verwenden. 1) Ki muss ein Großbuchstaben K haben.
    • @Nayuki „Der erste Buchstabe jedes solchen Präfixes ist daher mit den entsprechenden SI-Präfixen identisch, mit Ausnahme von “ K. „, das austauschbar mit “ k “ verwendet wird, während in SI nur die Kleinbuchstabe k steht für 1000. ” – de.wikipedia.org/wiki/Binary_prefix

    Antwort

    Ich habe seit Mitte der 1980er Jahre professionell in der IT gearbeitet. Meine derzeitige Praxis besteht darin, zu schreiben , z. B. KB oder KiB, was ich zu diesem Zeitpunkt meine, wobei KB 10 US-Dollar bedeutet ^ 3 $ und KiB bedeuten $ 2 ^ {10} $. Wenn ich über den RAM in einer Maschine spreche, schreibe ich zB „64MiB“ und wenn ich über die hergestellte und vermarktete Größe von a spreche Festplattenlaufwerk „Ich schreibe“ 1 TB. „Ich bin nicht jedoch bereit, Wörter wie“ Mebibyte „im Gespräch zu verwenden. Vielleicht ändere ich eines Tages meine verbalen Abkürzungen von z „meg“ zu „meb“, aber ich bin noch nicht da.

    Kommentare

    • I ‚ Ich habe noch nie gesehen, dass in einem ähnlichen Zeitraum MiB usw. für RAM verwendet werden. KB / MB / GB / TB in Bezug auf RAM basiert immer auf 1024.
    • Wenn Sie ‚ Wenn Sie K für Kilo in Großbuchstaben verwenden, sind Sie ‚ falsch.(Ich habe Leute gesehen, die Millimeter mit Megamolar verwechselt haben.)
    • Ich glaube, ich ‚ würde eher “ binäres Megabyte “ für MiB als “ mebibyte „, aber die Abkürzung wäre OK .
    • @MontyHarder: Wie wäre es mit Aussprache?
    • @supercat “ em-byte “ klingt wie eine Abkürzung für Megabyte. ‚ löst die Mehrdeutigkeit daher nicht wie MiB auf. Ich finde MiB eine nützliche Abkürzung (das Infix “ i “ steht für “ b_i_nary „), aber das Wort “ mebibyte “ selbst kommt nicht reibungslos aus meinem Mund. wenn überhaupt.

    Antwort

    Die grundlegende Verwirrung liegt in der Notation in der KB (Basis 2 abgeleitet) vs kB (SI-Einheit) Einheitenebene, und es ist hilfreich, den Ursprung der Verwendung der von Basis 2 abgeleiteten Einheit zu verstehen.

    Ein Computer ist eine binäre Maschine.

    Bei der Grundstufe, Speicheradressierung ist binär. Auf programmatischer Ebene wird die Adressierung normalerweise im Hexadezimalformat eingegeben (ursprünglich binär). Hexadezimal wird jedoch auch von Basis 2 abgeleitet (es ist Basis 16 oder 2 4) und ist daher direkt kompatibel.

    Der Beginn auf KB-Ebene für die Kommunikation des Verständnisses ist hier nützlich, da Die Konzepte der von Basis 2 abgeleiteten Einheiten existieren seit der allgemeinen Verwendung von MB (keine Unterscheidung des Präfixes von der SI-Einheit).

    Wenn Sie sich auf einem Speichercontroller-IC vorstellen, dass Adressenselektoren eine Reihe von Schaltern sind (binäre Logikgatter) und je nachdem, wie sie geschaltet werden, wird der Speicher von einer bestimmten Adresse auf den Datenleitungen gelesen. Die Daten werden als Bytes gespeichert und zurückgegeben.

    Es war immer eine begrenzte Anzahl von Adressleitungen für den Adressspeicher verfügbar, und es kommt daher vor, dass binäre vollständige Adressensätze für eine bestimmte Anzahl von Adressierungsbits verwendet werden Basis 2 Zahlen. Auf einem 4-KB-Computer gibt es also 12 Adressleitungen, die die Adressen 0 bis 4095 (4096 Byte) darstellen. Diese 12 Adresszeilen entsprechen den 111111111111-Adressen, die binär, 0FFF hexadezimal oder 4096 Byte dezimal möglich sind. Es wäre nicht logisch, die Adresszuordnung aus Gründen der Dezimalkonvention auf 4000 Byte zu beschränken, wenn 12 Adressierungsbits verfügbar sind.

    Diese Logik folgte zunächst auch auf Festplatten, auf denen Blöcke Gruppen von Bytes sind, auf die zugegriffen wird Adresse jedoch (und ich habe nicht überprüft), höre ich, dass Festplattenanbieter es möglicherweise weniger kritisch finden, „runde Adressierungs“ -Formate zu verwenden, insbesondere unter Berücksichtigung der folgenden.

    Alle Standardwerte in der Computerterminologie sind Basis 2 abgeleitet, obwohl für Marketingzwecke die 20-MB-Festplatte einiger Anbieter möglicherweise nicht so groß ist wie einige, die die Konvention einhalten. Es ist praktisch, 20 MB auf etwas zu übertragen, auch wenn es nicht so viele Blöcke enthält und einfacher herzustellen ist, da weniger Datendichte erforderlich ist.

    Frühe IDE-Festplatten (es gab andere frühere Systeme vor IDE) Vor der Einführung des LBA-Systems (Logical Block Addressing) wurde es von Zylindern, Köpfen und Sektoren (CHS) konfiguriert. Das gesamte Adressierungssystem war binär, und selbst Standard-Unix-Dienstprogramme verwendeten 1024-Byte-Blöcke für die Anzeige. [1] Standardtools wie Conky verwendet weiterhin Basis 2 für die Anzeige von RAM- und HDD-Informationen, verwendet jedoch das GiB-Format, um Verwirrung zu vermeiden. Später ermöglichte das LBA-Adressierungssystem die logische Zuordnung des CHS-Formats mit zunehmender Festplattengröße. LBA wendet jedoch einfach die CHS-Formatadressierung intern im integrierten Controller der Festplatte an und ermöglicht es dem Betriebssystem (und dem Programmierer), dies nur zu berücksichtigen die logischen Blöcke.

    Die Basis-2-Logik folgt zu größeren Zahlen, z. B. 1111111111111111111111111111111 Bytes sind 2 GB in der Standardverwendung oder 7FFFFFFF-Bytes in Hexadezimalzahl. Nur in Dezimalzahlen, wenn dies als 2.147.483.647 Bytes unordentlich aussieht. Die zugrunde liegenden Technologien und Konventionen sind jedoch nicht dezimal. Computer sind keine dezimalen Maschinen, sondern binäre Maschinen.

    Die Netzwerkadressierung verwendet auch binäre Masken für jedes von Millionen Datenpaketen pro Sekunde, um ein korrektes Routing sicherzustellen. Es ist lange her, dass der Datenteil eines Netzwerkpakets einer Basis-2-Zahl ähnelt. Wahrscheinlich tut die äußerste Schicht des Pakets immer noch {Vermutung}.

    Sie müssen zweifellos erwähnen, dass insbesondere bei der Vermarktung von Produkten mit einer bestimmten Größe Verwirrung herrscht und dass es einige programmgesteuerte Implementierungen für die Anzeige von Werten mit SI-Einheiten gibt (nein länger unpraktischer oder langsamer (tatsächlich ist es wahrscheinlich immer noch langsamer, aber auf modernen Computern fällt es nicht mehr auf), dass Computerprogrammierer Dezimalstellen implementieren, insbesondere für die Anzeige), aber es kann kein Zweifel an der Computernutzung bestehen, dass die richtige Antwort lautet Die Basis-2-Konvention.

    1024 KB ist der Standard JEDEC 100B.01 , was bedeutet, dass 1 KB 1024 Byte entspricht.

    rel:
    [1] Wikipedia – Zylinderkopfsektor (CHS) https://en.wikipedia.org/wiki/Cylinder-head-sector

    Diese Frage wurde ausführlich untersucht.

    SuperUser – Größe der Dateien unter Windows. (Es ist KB oder kB?) – https://superuser.com/questions/938234/size-of-files-in-windows-os-its-kb-or-kb

    Die meisten Betriebssysteme und Die überwiegende Mehrheit der Geräte, die sich mit Speicher befassen, verwendet die Präfixe K für Kilo, um 1024 Bytes zu bedeuten. Wenn ich also RAM erhalte, das besagt, dass es sich um ein 4-GB-Modul handelt, weiß ich, dass es sich um 4 Gibi-Bytes (4 * 1024 * 1024) handelt * 1024) und nicht Giga-Bytes (4 * 1000 * 1000 * 1000).


    Quora – Wo verwenden wir 1 kB = 1000 Byte, 1 MB = 1000 kB, 1 GB = 1000 MB, 1 TB = 1000 GB? Und wo verwenden wir 1 KB = 1024 Bytes, 1 MB = 1024 KB, 1 GB = 1024 MB, 1 TB = 1024 GB? – https://www.quora.com/Where-do-we-use-1-kB-1000-bytes-1-MB-1000-kB-1-GB-1000-MB-1-TB-1000-GB-And-where-do-we-use-1-KB-1024-bytes-1-MB-1024-KB-1-GB-1024-MB-1-TB-1024-GB

    Die zweite Idee wurde von der Computerindustrie formuliert. 1 KB = 1024 Bytes 1 MB = 1024 KB 1 GB = 1024 MB Hinweis Ich verwende Großbuchstaben B und nicht Kleinbuchstaben b, und Großbuchstaben B impliziert Bytes. Das Kleinbuchstaben b sollte nicht verwendet werden. Dies ist immer der Fall und gilt für Dinge, die mit Computern zusammenhängen.


    Die erste Idee wurde von der Telekommunikationsindustrie formuliert und gilt nicht für die Datengröße (Bits und Bytes), sondern für die Datengeschwindigkeit (Bits pro Sekunde oder Bytes pro Sekunde) 1 Kbit / s = 1000 Bps (Bits pro Sekunde) 1 Mbit / s = 1024 Kbit / s 1 Gbit / s = 1024 Mbit / s Hinweis Ich verwende kleines b und kein Großbuchstabe B, und kleines b impliziert Bits. Das Großbuchstaben B sollte nicht verwendet werden. Dies ist immer der Fall und gilt für Dinge, die mit der Datenübertragung zusammenhängen.

    Kommentare

    Antwort

    Ich füge eine zweite Antwort hinzu, um einige Probleme mit der Frage zu klären und die offensichtliche Verwirrung in den Antworten zu beseitigen.

    1. In der Frage wird fälschlicherweise angegeben, dass in der verknüpften IEC-Kommunikation KB 1000 bedeutet. Die Verknüpfung bezieht sich nur auf „Kilo“.

    2. kB kann bedeuten der SI-Kilobyte, dh 1000 Bytes

    3. KB bedeutet 1024 Bytes.

    Nummer 3 ist im Wesentlichen die einzige nützliche Definition in der Softwareentwicklung. Beachten Sie, dass das K groß geschrieben wird.

    Es gibt auch KiB, das KB entspricht . Beachten Sie, dass das Kilowort immer durch ein kleines k dargestellt wird. Es ist immer falsch, wenn OP KB als 1000 lehrt.

    Das oben Gesagte gilt nicht für MB und höher. Dort ist die Verwendung nicht eindeutig und hängt vom Kontext ab.

    Kommentare

    • Beachten Sie, dass KB als 1000 zwar völlig falsch sein kann, aber ‚ ist auch notwendig, um zu lehren, dass viele Menschen dies falsch machen, und daher dürfen Schüler niemals darauf vertrauen, dass KB 1024 bedeutet, ohne den Kontext weiter zu kennen.
    • @Peter Einverstanden 100% Eine breite Diskussion über Geschichte und Kontext auf interessante und unterhaltsame Weise würde dazu beitragen, ein Mittelmaß von einer anständigen Ausbildung zu unterscheiden.
    • Inwiefern ist Nummer 3 “ die einzig nützliche Definition „?
    • @immibis – es wurde gesagt, dass “ die einzig nützliche Definition in der Softwareentwicklung „. Aufgrund der binären Natur der Computerarchitektur und -software ist ‚ wahrscheinlich korrekt. Außerhalb von Diskussionen über Computer und insbesondere Software ist dies höchstwahrscheinlich nicht korrekt.
    • @ KevinFegan: Die einzigen Situationen, in denen ich mir vorstellen kann, dass die Verwendung eines K in Großbuchstaben K für 1000 nicht einfach als falsch angesehen werden sollte Wenn ein “ k “ in Kleinbuchstaben nicht verfügbar ist, kann es zu Beschilderungen oder begrenzten Zeichensätzen kommen.

    Antwort

    Lehre sie, dass du es ohne Kontext nicht weißt, weil es mit Sicherheit Leute gibt, die k verwenden, um 1000 und andere zu bedeuten Wer wird k verwenden, um 1024 zu bedeuten. Was richtig ist, ist nicht relevant, da beide Verwendungen da draußen sind.Dies lässt jede Verwendung von „k“ mit Bytes mehrdeutig, es sei denn, wer auch immer die Nummer angegeben hat, hat auch angegeben, was sie bedeuten.

    Aus diesem Grund würde ich empfehlen, dass Sie lehren, dass Sie bei der Angabe eines Werts in Bytes immer ein verwenden IEC-Präfix wie Ki stattdessen. 10 kB sind mehrdeutig, 10 KiB nicht.

    Wir können erklären, dass bestimmte Verwendungen „falsch“ sind wollen, und ich sage nicht, dass dies notwendigerweise ungerechtfertigt ist, aber das lässt diese Verwendungen nicht verschwinden.

    Kommentare

    • Nicht viele gesehen Computer auf Dezimalbasis in letzter Zeit, daher ist Kb, wenn auf Computer verwiesen wird, ‚ nicht mehrdeutig
    • @Neuromancer Ob es ‚ mehrdeutig ist oder nicht hat nichts mit dezimalbasierten Computern zu tun …
    • @smithkm Zeigen Sie mir, wo k kleines k mehrdeutig ist.
    • @Neuromancer Kb bedeutet … Vielleicht kb. Oh, Die Geschwindigkeit der Telefonmodems, die bis Anfang der 2000er Jahre üblich war, wurde in kb / s angegeben.
    • @rexkogitans Für Kilobit waren es Kbps pro Sekunde. Natürlich würden einige Netzwerkdienstprogramme es auf Bytes skalieren und das wäre KB / s (normalerweise so etwas), aber die Modems waren Kbit / s, genau wie jetzt, es könnte Mbit / s oder Gbit / s sein (und so weiter). Oder wenn Sie ‚ äußerst unwahrscheinlich sind, ja Kbps. (Vielleicht haben es einige als kbps geschrieben)

    Antwort

    Bringen Sie beiden bei, konzentrieren Sie sich jedoch auf 1024 bei Problemen. Sie müssen Bandbreite usw. in Netzwerk- und anderen Kursen konvertieren.

    Das Konvertieren mit 1000 ist einfach, aber 1024 ist schwierig. Konzentrieren Sie sich darauf. Das Wissen hilft ihnen bei Kursen zu Computerarchitektur, Montage und Netzwerk. Sie müssen eines Tages damit arbeiten, also machen Sie sie bereit.

    Kommentare

    • @immibis ‚ @Lynob Wenn Sie ‚ diese Diskussion fortsetzen möchten, tun Sie dies bitte im Chat . Wenn Sie jedoch einfach glauben, dass die Antwort falsch ist, stimmen Sie ab und fahren Sie fort .

    Antwort

    Die anderen Antworten geben alle solide Gründe für den Unterricht an, dass beide existieren und wie stark die aktuelle Situation durcheinander ist. Dies ist wichtig, klärt jedoch nicht, was die Schüler lieber selbst verwenden sollten. Diese Antwort konzentriert sich auf die praktische Seite dessen, was die Schüler tun können. Nachdem Sie aus den anderen Antworten etwas über die aktuelle Situation erfahren haben.

    Nehmen Sie den schlimmsten Fall an.

    Wie bei allen Unsicherheiten beim Rechnen ist es am sichersten, immer den schlechtesten anzunehmen -Fall-Szenario. Das heißt, um die Wahrscheinlichkeit zu minimieren, dass eine falsche Annahme Fehler verursacht.

    In dieser Situation kann Folgendes angewendet werden, um Ihre Basen abzudecken:

    • Angenommen Die Menge an Ressourcen, die Sie haben, ist ein Vielfaches von 1000 Bytes.

    • Angenommen, die von Bibliotheken usw. von Drittanbietern verwendeten Ressourcen sind ein Vielfaches von 1024 Bytes.

    • Geben Sie alle Zahlen für Ressourcen an, die Sie als Vielfaches von 1000 Byte verwenden.

    Diese drei Annahmen stellen Folgendes sicher:

    • Im schlimmsten Fall denken Sie, Sie haben weniger Ressourcen als Sie tatsächlich haben. Angenommen, 4 KB RAM bedeuten „4000 Bytes“, bedeutet dies, dass Sie 96 Bytes weniger planen als tatsächlich. Aber es bedeutet, dass Sie niemals 96 Bytes mehr als tatsächlich planen werden.

    • Im schlimmsten Fall nehmen Sie an, dass die Bibliothek, die 2 KB RAM verwendet, 48 Byte mehr Speicher benötigt als tatsächlich (angenommen, es bedeutet 2048, nicht 2000). Sie werden jedoch niemals planen, 48 Byte weniger RAM als tatsächlich zu verwenden.

    • Im schlimmsten Fall gehen Dritte davon aus, dass Ihr Programm mehr Ressourcen verbraucht als es, indem Sie davon ausgehen, dass Sie 1024 Bytes pro kB und nicht 1000 gemeint haben. Aber Sie werden niemals versehentlich führen Jemand denkt, es verbraucht weniger als es tatsächlich tut.

    Natürlich ist es nicht ideal, es zu müssen. unnötig Ressourcen verlieren. Aber im allgemeinen Fall ist es unwahrscheinlich, dass der kleine Unterschied (insbesondere als Student) ausreicht, um ihr Projekt unmöglich zu machen. In den speziellen Fällen, in denen dies der Fall ist, sollten sie bereits die genauen Fußabdrücke von allem und messen Nehmen Sie die Größe von nichts allein aus der Dokumentation an.

    Der Vorteil ist jedoch, dass Ihre Annahmen darüber, was jemand anderes mit „2 KB“ meinte, Sie nicht verletzen, wenn er „falsch“ liegt. Was ich in diesem speziellen Fall und als allgemeine Lektion für Ihre Schüler für wichtig halte.

    Antwort

    „Welche Konvertierung? soll ich meinen Studenten unterrichten? “

    Handelt es sich um technische Studenten? Wenn ja, würde ich mit 1024 arbeiten, basierend auf binärer Mathematik, da dies das ist, worauf Engineering basiert.

    Sie können die Bits an Ihren Fingern abzählen:

    • $ 1 $ finger = $ 2 $ Zustände, 0 und 1.
    • $ 2,4,8,16,32,64, 128, 256, 512, 1024 $.Der höchste Dezimalwert, der realisiert werden kann, ist 1 weniger, während die Anzahl der dargestellten Zustände $ 2 ^ x $ list ist.
    • $ 2 ^ 1 -1 = 1 $. Daher 0,1
    • $ 2 ^ 2 – 1 = 3 $. Daher 0,1,2,3
    • $ 2 ^ 3 – 1 = 7 $. Daher 0,1,2,3,4,5,6,7
    • usw. bis zu $ 2 ^ 8 – 1 = 255 $. Daher 256 Zustände von 0 bis 255.

    Hersteller können als 2,2 TB werben, das Betriebssystem meldet dies jedoch als 2 TB oder sogar als 2 TB verwendbar.

    Kommentare

    • Leider falsch. Unterschiedliche Betriebssysteme berichten unterschiedlich. Speziell die fruchtigen.
    • Zum Glück falsch. Anständige Betriebssysteme melden die Größe korrekt mit GB = 1 Milliarde Bytes. Die fruchtigen haben damit begonnen.
    • @ gnasher729: Angesichts der Tatsache, dass Zuordnungseinheiten auf nahezu jedem Betriebssystem ein Vielfaches von 512 Byte sind, ist es für mich viel sinnvoller, die Festplattenauslastung in Einheiten von 1024 Byte zu melden, als in Basis zehn Einheiten.

    Antwort

    In meinen 26 Jahren als professioneller Softwareentwickler bin ich KB noch nie begegnet bedeuten etwas anderes als 1024.

    Bringen Sie ihnen beliebige Definitionen bei und stellen Sie sicher, dass sie wissen, dass 1024 die einzig nützliche ist.

    Kommentare

    • Kommentare sind nicht für eine ausführliche Diskussion gedacht. Diese Konversation wurde in den Chat verschoben . Die Diskussion dient dem Chat, nicht den Kommentaren, und jede weitere Diskussion in den Kommentaren wird gelöscht.

    Schreibe einen Kommentar

    Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.