Mám učit, že 1 kB = 1024 bajtů nebo 1000 bajtů?

Jakou konverzi bych měl naučit své studenty na nižší škole? Že 1 kB je 1024 bajtů (binárně), jak se všichni dozvěděli již v devadesátých letech nebo nedávná průmyslová „přátelská“ konverze, která říká, že 1 kB je ve skutečnosti 1 000 bajtů (desítkově)?

Můj okamžitý pocit jde k binární konverzi, ale když IEC říká jinak a hlavní OS rozhodnou pro desetinnou konverzi (Mac OS X ≥ 10.6 a Ubuntu ≥ 10.10 nyní používají předpony SI výhradně pro odkaz na mocnosti 1000) Už si nejsem tak jistý.

Komentáře

  • Upozorňujeme, že předpona SI “ kilo “ se vždy píše malými písmeny “ k „. Osobně jsem zvyklý vidět “ kB „, i když to přísně není ‚ ta SI prefix.
  • xkcd
  • Ram je soled v kiB, Mib, GiB a pevných discích v kB, MB, GB. Oba jsou často označovány jako kB, M B, GB. Není to tedy vždy o programování.
  • Zábavné je to, že verze dvou verzí (Ta, která ‚ jasně ukazuje, co je obvykle požadováno ) nemá žádné odůvodnění pro použití předpony “ Kilo “ – ‚ div Jde jen o to, že nějaká libovolná mocnina dvou se docela přiblíží nějaké svévolné mocnině 10, takže tento rozdíl ignorujeme, abychom mohli říci “ K “ (nebo “ M “ nebo “ G „) protože “ 0x0200 “ abyte je příliš těžké říci.
  • Byte není jednotka SI. Jednotkou SI pro množství je mol. 1 GB je přibližně 1,66 femtomol bajtů

odpověď

Měli byste učit obojí a pravděpodobně budete chtít použít binární jednotka. Když hovoříte o rozdílu, může být užitečné vysvětlit jim, jak poznat rozdíl, když je čtete:

SI kilo- je k :
$ 1 \ \ text {kB (kilobyte)} = 10 ^ {3} \ \ text {bytes} = 1000 \ \ text {bytes} $

Zatímco binární kibi- je Ki :
$ 1 \ \ text {KiB (kibibyte)} = 2 ^ {10} \ \ text {bytes} = 1024 \ \ text {bytes} $

Všiml jsem si, že jste v otázce použili KB k označení obou velikostí; možná byste měli také zdůraznit, že KB lze interpretovat jako jednu z těchto předpon (ačkoli Wikipedia naznačuje , je nejčastěji používána místo KiB). Na vaší pozici bych navrhl vyjasnit, který z nich máte na mysli, pokud použijete tento zápis.

(Zatímco procházíte matoucími jednotkami, související rozdíl v psaní jednotek spočívá v tom, že malá písmena b jsou bity, velká písmena B je bajtů; osminásobný rozdíl je mnohem významnější než 2,4%.)

Komentáře

  • Kromě poučení obou musíte naučit, že k / kilogram může znamenat buď v závislosti na kontextu / kdo jej ‚ používá. Protože existuje kibble, ‚ t znamenají, že je lidé rádi nebo skutečně používají.
  • Pokud zakryjete bity a bajty, měli byste také alespoň stručně zmínit, že “ kilobit “ je téměř vždy 1 000 bitů (protože připojení k síti) a “ kilobyte “ téměř vždy 1024 bajtů (protože vše -except-for-networking).
  • 1MiB je ≈5% větší než 1 MB, 1GiB je o 7,4% větší než 1 GB a 1TiB je blízký y 10% větší než 1 TB.
  • Vždy mě učili, že základna je binární, 8bitové slovo je bajt, 16bitové slovo jsou dva bajty a podle binární konvence je 1 kB 1024 bajtů , 1 MB je 1024 kB, 1 GB je 1024 MB, 1 TB je 1024 GB – a v binární podobě, základní výpočetní jednotce, to dává smysl. Pokus o přijetí použití SI jsem vždy považoval za nesprávný a zbytečný zmatek. To znamená, že jako pedagog bude student muset pochopit zmatek.
  • “ Mám učit, že 1 KB = 1024 bajtů nebo 1000 bajtů ? “ Ano. 🙂

Odpovědět

Měli byste je naučit, aby se to nepokazilo , a úkolem jejich generace je naučit příští generace, která použije hloupě znějící standardní předpony , takže až budou konečně v důchodu (a současní starodávnější jsou z argumentu trvaleji odstraněni), konečně může být shoda.

Za současného stavu jsou všechny předpony nepoznatelné bez kontextu.Síťový megabit je 10 $ 6 ^ 6 $ bitů, megabajt souborového systému je $ 2 ^ {20} $ bajty, megabajt pevného disku je někde docela blízko 10 $ 6 $ 6 bajtů a megapixel je „pravděpodobně milion pixelů, na které záleží. „

Komentáře

  • Zdá se, že je shoda v tom, že velikost disku je nejbližší jednoduchá aproximace menší než n × 1 000 ^ m. Takže 2,057 × 10 ^ 12 bajtů by bylo inzerováno jako 2 TB, ne 2,1 TB.
  • I ‚ Všimněte si, že předpony mají zřídka (v zásadě nikdy) svůj binární význam s jinými jednotkami než bajty . Megapixel je 1 milion pixelů, megabit je milion bitů.
  • Megabajt souborového systému je 2 $ {20} $ bajtů – možná. Někdy ve stejném operačním systému ‚ uvidíte “ megabajty “ (včetně desítkové přesnosti) v některých nástrojích je $ 10 ^ 6 $ a v ostatních $ 2 ^ {20} $. Nejčastěji v nástrojích příkazového řádku vs nástrojích GUI, ale vím o operačním systému, kde se na tom neshodují ani různé nástroje GUI poskytované operačním systémem …

Odpovědět

Ve skutečnosti je musíte oba naučit, aby byli varováni, že použití není konzistentní. Pak si můžete zvolit jeden jako standard ve vašem kurzu do budoucna.

Které si vyberete, trochu závisí na tom, co učíte. Pokud jde o způsob hodnocení pevných disků atd., Nyní funguje $ K = 1000 $. Pro většinu programování je ale pravděpodobně nejlepší $ K = 2 ^ {10} = 1024 $.

Je smutné, že dvojí význam je pravděpodobně způsoben tím, že se výrobci snaží vyhnout se nejasnostem v myslích nekomplikovaných zákazníků.

Komentáře

  • Kilobyte byl vytvořen mnohem dříve než 1 000 bajtů kilobyte v roce 1998. IEC opravdu udělala nepořádek.
  • Ano, ale kilo = 1000 sahá až do roku 1795: etymonline.com/word/kilo- Takže negeekové zde mají snad nějakou přednost. Ale ještě důležitější: Pokud je naučíte jen jednu věc jako “ správnou věc „, nastavíte je později pro zmatek. Svět je chaotický. Učitelé by neměli ‚ předstírat, že to není ‚ t. Být dogmatický není ‚ t velmi užitečné.
  • Také kB / KB nepomůže ‚ s MB, GB, TB, které a) jsou mnohem relevantnější b) mají mnohem větší rozdíly.
  • “ Je smutné, že dvojí význam je pravděpodobně způsoben tím, že se výrobci snaží zabránit nejasnostem v mysli nesofistikovaných zákazníků “ Pravděpodobnější je, že inzerenti chtějí, aby jejich produkt zněl větší, než ve skutečnosti je. Proč inzerovat 3TB pevný disk pomocí správných 1TB = 1024 * 1024 * 1024 * 1024 bajtů, když můžete inzerovat 3,3TB pevný disk pomocí právníka schváleného 1TB = 1000 * 1000 * 1000 * 1000 bajtů. 3.3 je větší než 3, že?
  • @Readin Nebo, jak to vidím častěji, 3TB disk, který má ve skutečnosti 2,7 TB celkového úložiště.

Odpověď

Rozdíl mezi tím, jak svým studentům poskytnout správnou diskusi o tomto tématu, a jednoduše je učit , je rozdíl mezi skutečným pedagogem a recitátorem faktoidů.

Pokud pro vás neexistuje jediná správná definice KB, tak proč byste svým studentům vštěpovali něco jiného? Odpověď na vaši otázku je tedy zřejmá z jejího formování. Vaším úkolem jako učitele je zprostředkovat pochopení problému, nikoli ho přenést na ten či onen fakt, o kterém víte, že je méně než pravdivý.

Komentáře

  • Souhlasím, ale předtím, než provedu řádnou diskusi se svými studenty, poskytnu zde ‚ řádnou diskusi, což bylo v první řadě mým záměrem ( místo získání jednoduchých jedné nebo druhé odpovědí).

Odpověď

Ano Souhlasím s dalšími odpověďmi, učím obojí a také si všímám podobnosti.

Rozdíl

  • $ \ text {ki} = 1024 = 2 ^ {10} $
  • $ \ text {k} = 1000 = 10 ^ 3 $
  • $ \ text {k}, \ text {M}, \ text {G}, \ text {T}, \ text {P} $ se někdy používá k označení $ \ text {ki}, \ text {Mi}, \ text {Gi}, \ text {Ti}, \ text {Pi} $

Podobnost

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

rychlá matematika

$ 64 \ text {bits} = (6 \ krát 10 + 4) \ text {bits} = \ text {ki} ^ 6 \ krát 2 ^ {4} = 16 \ text {Ei adresy} $

To má určitou podobnost a jistý rozdíl se základním systémem 10, který by (měli) znát. Nejprve to rozdělíme na bloky po 10 (místo 3), zbytek převedeme na základnu 10, zbytek je stejný.

Kde se používá (hlavně)

Je je důležité ukázat, kde se tyto 2 systémy používají. Zatímco některé odpovědi říkají, že nikdy neviděli systém SI založený na 1 000 $ , který se používá při výpočtech. Ukázalo se, že systém SI je hodně používán, v závislosti na tom, co se měří.

  • IEC 60027-2 A.2 a ISO / IEC 80000, např. $ \ text {ki} $ :
    • míry primární paměti: RAM, RAM, mezipaměť.
    • měřítko velikosti souboru , velikosti oddílů a velikosti disků v operačním systému.
  • SI jednotky, např $ \ text {k} $ :
    • míry sekundárních paměťových zařízení: pevné disky, SSD.
    • rychlosti sítě.
    • Rychlost CPU / paměti / sběrnice.
    • všechny ostatní rychlosti.

Použití symbolu $ \ text {ki} $ se v tuto chvíli nepoužívá vždy.


viz také https://en.wikipedia.org/wiki/Binary_prefix

Komentáře

  • Tato odpověď vyvolává otázku.
  • @prl Pokud máte v úmyslu vyhnout se otázce (odpovědět na jinou otázku), máte částečně pravdu. Snažím se rozšířit o další odpovědi. A dát radu ohledně „Jak“, kde otázka byla „Která“.
  • IMO, toto je nejlepší odpověď, ale mohla by být mírně vylepšena výslovnou zmínkou o stylu . Tj. stejným způsobem, že existují různé styly pro citování článků nebo pro vymezení seznamů (viz Oxfordská čárka), existují různé styly pro formátování čísel. V publikaci IEC po roce 2000 můžete předpokládat, že styl domu bude SI / * bi. Jiné organizace / vydavatelé mohou používat jiné styly.
  • Docela dobrá odpověď. Dva nitpicks: 0) Pro všechny předpony (k, M, Mi, Gi atd.) Použijte římský typ, ne kurzívu; Navrhuji použít \text{}. 1) Ki musí mít velké písmeno K.
  • @Nayuki „První písmeno každé takové předpony je tedy totožné s odpovídajícími předponami SI, s výjimkou “ K „, který se zaměňuje s “ k „, zatímco v SI je pouze malá písmena k představují 1 000. “ – en.wikipedia.org/wiki/Binary_prefix

odpověď

V IT jsem profesionálně pracoval od poloviny 80. let. Moje současná praxe je psát cokoli z např. KB nebo KiB, které v té době myslím, přičemž KB znamená 10 $ ^ 3 $ a KiB, což znamená $ 2 ^ {10} $. Pokud mluvím o paměti RAM ve stroji, napíšu např. „64MiB“ a pokud mluvím o velikosti vyráběného a uváděného na trh disková jednotka „napíšu“ 1 TB. „Jsem ne , nicméně jsem připraven používat v konverzaci slova jako„ mebibyte “. Možná jednoho dne změním své slovní zkratky např. „meg“ na „meb“, ale ještě tam nejsem.

Komentáře

  • I ‚ Nikdy jsem neviděl, v podobném časovém rámci, MiB atd. použitém pro RAM. KB / MB / GB / TB týkající se RAM vždy vychází z 1024.
  • Pokud ‚ Používáte velká písmena K pro kilo , ‚ se mýlíte.(Viděl jsem lidi míchat milimetr s megamolárem.)
  • Myslím, že bych ‚ d dříve řekl / napsal “ binární megabajt “ pro MiB než “ mebibyte „, ale zkratka by byla v pořádku .
  • @MontyHarder: Co se týče výslovnosti, co třeba em-byte?
  • @supercat “ em-byte zní jako zkratka megabajtu. Proto ‚ nevyřeší nejednoznačnost tak, jak to dělá MiB. Považuji MiB za užitečnou zkratku (“ i “ infix představuje “ b_i_nary „), ale samotné slovo “ mebibyte “ z mých úst nevychází hladce, pokud vůbec.

Odpověď

Základní zmatek je v notaci u KB (odvozena báze 2) vs kB (jednotka SI) na úrovni jednotky a je užitečné pochopit původ použití odvozené jednotky základny 2.

Počítač je binární stroj.

Na na základní úrovni je adresování paměti binární. Obvykle je na programové úrovni adresování zadáno v hexadecimálním formátu (původně bylo binární); hexadecimální je však také odvozen od základu 2 (je to základ 16 nebo 2 4 ) a je tedy přímo kompatibilní.

Začátek na úrovni KB pro komunikaci porozumění zde je užitečný, protože koncepty odvozených jednotek základny 2 existují již dříve, než se MB běžně používalo (žádná diferenciace v prefixu od jednotky SI).

Pokud si představíte, že na řadiči paměti IC, jsou selektory adres řadou přepínačů (binární logická hradla) a podle toho, jak jsou přepínány, získáte paměť přečtenou z konkrétní adresy na datových linkách. Data se ukládají a vracejí jako bajty.

Pro adresování paměti byl vždy k dispozici omezený počet adresních řádků a stává se, že použití binárních úplných sad adres pro daný počet bitů adresování je základ 2 čísla. Na stroji 4KB tedy existuje 12 adresních řádků představujících adresy 0 až 4095 (4096 bajtů). Těchto 12 adresních řádků odpovídá 111111111111 adresám, které jsou možné v binárním formátu, 0FFF v šestnáctkové soustavě nebo 4096 bajtů v desítkové soustavě. Nebylo by logické omezit mapování adres na 4 000 bajtů kvůli desítkové konvenci, když je k dispozici 12 adresovacích bitů.

Tato logika se zpočátku řídila také pevnými disky, kde bloky jsou skupiny bajtů, ke kterým přistupuje address, nicméně (a nezkontroloval jsem), slyším, že možná prodejcům pevných disků připadá méně důležité používat formáty „kulatého adresování“, zejména s ohledem na následující.

Všechny standardní hodnoty v počítačové terminologii jsou odvozen ze základny 2, ačkoli pro marketingové účely nemusí být pevný disk 20 MB některých prodejců tak velký jako někteří dodržující konvenci. Je vhodné dát někomu slap 20 MB, i když to neobsahuje tolik bloků a je snadnější ho vyrobit, protože je vyžadována menší hustota dat.

Časné pevné disky IDE (před IDE existovaly i jiné starší systémy) Před zavedením systému LBA (Logical Block Addressing) se systém konfiguroval pomocí válců, hlav a sektorů (CHS). Celý adresovací systém byl binární a dokonce i standardní unixové nástroje používaly k zobrazení 1024 bajtových bloků. [1] Standardní nástroje jako Conky stále používá základnu 2 pro zobrazení informací o paměti RAM a HDD, i když používá formát stylu GiB, aby nedošlo k záměně. Později systém adresování LBA umožnil logické mapování formátu CHS, jak rostla velikost pevného disku, ale LBA jednoduše aplikuje adresování formátu CHS interně v integrovaném řadiči pevného disku a umožňuje OS (a programátorovi) pouze zvážit logické bloky.

Základní logika 2 pokračuje až k větším počtům, například 1111111111111111111111111111111 bajtů je 2 GB ve standardním použití nebo 7FFFFFFF bajtů v šestnáctkové soustavě. Je pouze v desítkové soustavě, kde to vypadá neuspořádaně jako 2 147 483 647 bajtů, ale základní technologie a konvence nejsou desítkové. Počítače nejsou desítkové stroje; jsou to binární stroje.

Síťové adresování také používá binární masky na každém z miliónů datových paketů každou sekundu, aby bylo zajištěno správné směrování, ale, je to dlouhá doba, co se datová část síťového paketu podobala číslu základny 2. Pravděpodobně nejvzdálenější vrstva paketu stále existuje {domněnka}.

Bezpochyby budete muset zmínit, že dochází k nejasnostem, zejména pokud jde o marketing produktů určité velikosti a že existují některé implementace programu pro zobrazení hodnot pomocí jednotek SI (není to delší nevhodnější nebo pomalejší {ve skutečnosti je to pravděpodobně stále pomalejší, ale na moderních počítačích to již není patrné}, aby počítačoví programátoři implementovali desetinná místa, zejména pro zobrazení), ale o použití počítače nelze pochybovat, že správná odpověď je konvence základny 2.

1024 kB je standard JEDEC 100B.01 , což znamená, že 1 kB je 1024 bajtů.

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

Tato otázka byla rozsáhle prozkoumána.

SuperUser – velikost souborů v operačním systému Windows. (Je to KB nebo kB?) – https://superuser.com/questions/938234/size-of-files-in-windows-os-its-kb-or-kb

Většina OS a drtivá většina zařízení, která se zabývají pamětí / úložištěm, používá předpony K pro Kilo, což znamená 1024 bajtů, takže když dostanu RAM, která říká, že je to 4GB modul, vím, že je to 4 Gibi-Bytes (4 * 1024 * 1024 * 1024) a ne Giga-bajty (4 * 1000 * 1000 * 1000).


Quora – Kde použijeme 1 kB = 1000 bajtů, 1 MB = 1000 kB, 1 GB = 1000 MB, 1 TB = 1000 GB? A kde použijeme 1 KB = 1024 bajtů, 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

Druhý nápad formuloval počítačový průmysl 1KB = 1024 bajtů 1MB = 1024 KB 1 GB = 1024 MB Upozornění Používám velké B a ne malé b a velké B implikuje bajty Malé b by se nemělo používat Toto je případ vždy a platí pro věci související s počítači


První myšlenka byla formulována telekomunikačním průmyslem a není použitelná pro velikost dat (bity a bajty), ale pro rychlost dat (bity za sekundu nebo bajty za sekundu) 1 kb / s = 1000 b / s (bitů za sekundu) 1 Mb / s = 1024 kb / s 1Gbps = 1024 Mbps Všimněte si, že používám malé b, ne velké B, a malé b znamená bity Velké písmeno B by nemělo být používáno To je vždy a platí pro věci spojené s přenosem dat

Komentáře

Odpověď

Přidávám druhou odpověď, abych objasnil některé problémy s touto otázkou a odstranil zjevný zmatek v odpovědích.

  1. Otázka nesprávně uvádí, že propojená komunikace IEC doporučuje, aby KB znamenala 1 000. Odkaz odkazuje pouze na „kilo“.

  2. kB může znamenat kilobajt SI, tj 1 000 bajtů

  3. KB dělá a vždy znamenala 1024 bajtů.

Číslo 3 je v zásadě jedinou užitečnou definicí v softwarovém inženýrství. Všimněte si, že písmeno K. je velké.

Existuje také KiB, které je ekvivalentní KB . Všimněte si, že kilo slovo je vždy reprezentováno malým k. Pro OP je výuka KB jako 1000 vždycky špatně.

Výše uvedené neplatí pro MB a vyšší. Tam je použití nejednoznačné a závisí na kontextu.

Komentáře

  • Všimněte si, že i když KB jako 1000 může být plochá, ‚ je také nutné učit, že mnoho lidí to dělá špatně, a proto studenti nikdy nesmí věřit KB, že bude znamenat 1024 bez dalších znalostí kontextu.
  • @Peter souhlasil 100% Široká diskuse o historii a kontextu, která je zajímavá a zábavná, by pomohla odlišit průměrnou úroveň od slušného vzdělání.
  • Jakým způsobem je číslo 3 “ jediná užitečná definice „?
  • @immibis – údajně to byla “ jediná užitečná definice v softwarovém inženýrství „. Kvůli binární povaze počítačové architektury a softwaru je to ‚ s pravděpodobně správné. Mimo diskuse o počítačích a zejména o softwaru to pravděpodobně není správné.
  • @KevinFegan: Jediné situace, které mě napadají, kde by použití velkého písmene K pro 1000 nemělo být považováno za jednoduše špatné, by bylo kde malá písmena “ k “ nejsou k dispozici, příšerné situace zahrnující značení nebo omezené znakové sady.

Odpověď

Naučte je, že bez kontextu nevíte, protože tam určitě jsou lidé, kteří budou používat k ve smyslu 1000 a další kdo bude používat k ve smyslu 1024. Což je správné není relevantní, protože obě použití jsou tam.Toto ponechá jakékoli použití „k“ s bajty nejednoznačné, pokud ten, kdo zadal číslo, také neurčil, co tím myslí.

Z tohoto důvodu doporučuji naučit vás, že při zadávání hodnoty v bajtech vždy použijte Předpona IEC jako Ki místo. 10 kB je nejednoznačný, 10 KiB není.

Můžeme prohlásit, že některá použití jsou „nesprávná“ chci, a já neříkám, že to je nutně neoprávněné, ale to nezpůsobí, že tyto zvyklosti zmizí.

Komentáře

  • Neviděl jsem mnoho desítkové počítače v poslední době, takže Kb, když se odkazuje na počítač, není ‚ t nejednoznačný
  • @Neuromancer Ať už je ‚ nejednoznačný nebo nemá nic společného s desítkovými počítači …
  • @smithkm Ukaž mi, kde k malé k je dvojznačné.
  • @Neuromancer Kb znamená … možná kb. ach, rychlost telefonních modemů, které byly běžné do začátku roku 2000, byla udávána v kb / s.
  • @rexkogitans Bylo to Kbps pro Kilobits za vteřinu. Samozřejmě některé síťové nástroje by to škálovaly na bajty a to by bylo KB / s (obvykle něco takového), ale modemy byly Kbps, stejně jako nyní by to mohlo být Mbps nebo Gbps (a tak dále). Nebo pokud ‚ jste extrémně nepravděpodobní, ano Kbps. (Možná to někteří napsali jako kbps)

Odpověď

Naučte je oba, ale zaměřte se na 1024 v problémech. Budou potřebovat převádět šířku pásma atd. V sítích a jiných kurzech.

Konverze pomocí 1000 je snadná, ale 1024 je složitá, takže se zaměřte na to, znalosti jim pomohou v kurzech počítačové architektury, montáže a vytváření sítí. Budou s tím někdy muset pracovat, takže je připravte

Komentáře

  • @immibis ‚ @Lynob Pokud ‚ chcete v této diskusi pokračovat, udělejte to v chatu . Pokud si však jednoduše myslíte, že odpověď je nesprávná, hlasujte a pokračujte .

Odpovědět

Ostatní odpovědi dávají pádné důvody pro výuku, že existují a jak špatně je aktuální situace pokazena. To je důležité, ale neobjasňuje, co by studenti měli raději používat. Tato odpověď se zaměřuje na praktickou stránku toho, co mohou studenti dělat; poté, co jsme se dozvěděli o aktuální situaci z ostatních odpovědí.

Předpokládejme nejhorší případ

Stejně jako u všech nejistot při výpočtu, nejbezpečnější možností je vždy předpokládat nejhorší – případový scénář. To znamená, aby se minimalizovala šance, že nesprávný předpoklad způsobí chyby.

V této situaci lze na pokrytí vašich základen použít následující:

  • Předpokládejme množství zdroje, které máte, je v násobcích 1000 bajtů.

  • Předpokládejme, že prostředky používané v knihovnách třetích stran atd. jsou v násobcích 1024 bajtů.

  • Uveďte jakékoli údaje o zdrojích, které používáte, jako násobky 1000 bajtů.

Tyto tři předpoklady zajišťují, že:

  • V nejhorším případě si budete myslet, že máte méně zdrojů, než ve skutečnosti máte. Například za předpokladu, že 4kB RAM znamená „4 000 bajtů“, může znamenat, že plánujete mít o 96 bajtů méně, než ve skutečnosti děláte. Znamená to však, že nikdy nebudete plánovat, že budete mít o 96 bajtů více, než ve skutečnosti děláte.

  • V nejhorším případě budete předpokládat, že knihovna, která uvedla, že používá 2 kB RAM, znamená, že používá o 48 bytů více paměti, než ve skutečnosti dělá (předpokládejme, že to znamenalo 2048, ne 2000). Ale nikdy to nebudete plánovat s využitím o 48 bajtů menší RAM, než ve skutečnosti dělá.

  • V nejhorším případě budou třetí strany předpokládat, že váš program používá více zdrojů, než kolik má, za předpokladu, že jste mysleli 1024 bajtů na kB, ne 1000. Ale nikdy nebudete náhodně vést někdo si myslí, že používá méně, než ve skutečnosti používá.

Samozřejmě, že není ideální mít “ zbytečně ztrácet zdroje. Obecně je ale nepravděpodobné, že by malý rozdíl stačil (zejména jako student) na to, aby byl jejich projekt neproveditelný. V těch konkrétních případech, kdy k tomu dojde, by již měli měřit přesné stopy všeho a nepředpokládáme velikosti čehokoli pouze z dokumentace.

Výhodou však je, že vaše předpoklady o tom, co někdo myslí pod pojmem „2kB“, vám neublíží, když se mýlí. Což v tomto konkrétním případě a jako obecná lekce pro vaše studenty – považuji za důležité.

Odpověď

„Který převod měl bych učit své studenty na vysoké škole? “

Jsou to vysokoškolské studenti související s inženýrstvím? Pokud ano, použiji 1024, založeno na binární matematice, na které je založeno inženýrství.

Odpočítávání bitů na prstech můžete:

  • $ 1 $ finger = $ 2 $ státy, 0 a 1.
  • $ 2,4,8,16,32,64, 128, 256, 512, 1024 $.Nejvyšší desetinná hodnota, kterou lze realizovat, je o 1 méně, zatímco počet zastoupených států je $ 2 ^ x $ list.
  • $ 2 ^ 1 -1 = 1 $. Proto 0,1
  • $ 2 ^ 2 – 1 = 3 $. Proto 0,1,2,3
  • $ 2 ^ 3 – 1 = 7 $. Proto 0,1,2,3,4,5,6,7
  • atd. až $ 2 ^ 8 – 1 = 255 $. 256 stavů, tedy od 0 do 255.

Výrobci mohou inzerovat jako 2,2 TB, ale operační systém to ohlásí jako 2 TB, nebo dokonce 2 TB použitelné.

Komentáře

  • Bohužel nesprávně. Různé operační systémy vykazují odlišně. Konkrétně ty ovocné.
  • Naštěstí nesprávné. Slušné operační systémy vykazují správně velikosti s GB = 1 miliarda bajtů. Začaly to ovocné.
  • @ gnasher729: Vzhledem k tomu, že alokační jednotky jsou násobky 512 bajtů téměř na každém operačním systému, dává mi hlášení využití disku v jednotkách 1024 bajtů mnohem větší smysl než hlášení základní deset jednotek.

Odpověď

Za 26 let svého působení jako profesionální softwarový inženýr jsem se s KB nikdy nesetkal znamená něco jiného než 1024.

Naučte je jakékoli definice, které se vám líbí, a ujistěte se, že vědí, že 1024 je jediná užitečná.

Komentáře

  • Komentáře nejsou určeny pro rozšířenou diskusi; tato konverzace byla přesunuta do chatu . Diskuse je určena pro chat, nikoli pro komentáře, a jakákoli další diskuse v komentářích bude smazána.

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *