Ar trebui să învăț că 1 kB = 1024 octeți sau 1000 octeți?

Ce conversie ar trebui să predau studenților mei de licență? Că 1 kB este de 1024 de octeți (binar) așa cum a învățat toată lumea în anii nouăzeci sau recentă conversie „prietenoasă” condusă de industrie care spune că 1 kB este de fapt 1000 de octeți (zecimal)?

Sentimentul meu imediat merge spre conversia binară, dar când IEC spune altfel și sistemele de operare majore decid conversia zecimală (Mac OS X ≥ 10.6 și Ubuntu ≥ 10.10 folosesc acum prefixele SI exclusiv pentru a mă referi la puteri de 1000) Nu mai sunt atât de sigur.

Comentarii

  • Vă rugăm să rețineți că prefixul SI ” kilo ” este întotdeauna scris cu litere mici ” k „. Personal, sunt obișnuit să văd ” kB „, chiar și atunci când nu este strict ‘ ta SI prefix.
  • xkcd
  • Ramul este plasat în kiB, Mib, GiB și hard disk-uri în kB, MB, GB. Ambele sunt adesea etichetate kB, M B, GB. Deci, nu este întotdeauna vorba de programare.
  • Ceea ce mi se pare amuzant este că versiunea de putere a două (Cea care ‘ este clar ceea ce se dorește de obicei ) nu are nicio justificare pentru utilizarea prefixului ” Kilo ” – it ‘ doar că o anumită putere arbitrară a două se apropie destul de mult de o putere arbitrară de 10, așa că ignorăm diferența pentru comoditatea de a putea spune ” K ” (sau ” M ” sau ” G „) deoarece ” 0x0200 ” abyte este prea greu de spus.
  • Byte nu este o unitate SI. Unitatea SI pentru cantitate este alunița. 1 GB este de aproximativ 1,66 octeți femtomoli

Răspuns

Ar trebui să-i înveți pe ambele și probabil că vrei să folosești unitate binară. Când vorbiți despre diferență, poate fi util să le spuneți cum să facă diferența atunci când le citiți:

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

În timp ce kibi- binar este Ki :
$ 1 \ \ text {KiB (kibibyte)} = 2 ^ {10} \ \ text {bytes} = 1024 \ \ text {bytes} $

Observ că ați folosit KB în întrebarea dvs. pentru a face referire la ambele dimensiuni; poate ar trebui, de asemenea, să subliniați că KB ar putea fi interpretat ca oricare dintre aceste prefixe (deși Wikipedia sugerează că este cel mai des folosit în locul KiB). În poziția dvs., aș sugera să clarificați la ce vă referiți dacă utilizați această notație.

(În timp ce treceți peste unități confuze, o diferență legată în unitățile de scriere este că minusculele b sunt biți, majuscule B are octeți; o diferență de opt ori este mult mai semnificativă decât 2,4%.)

Comentarii

  • Dincolo de predarea amândurora, trebuie să învățați că k / kilo poate însemna fie în funcție de context / cine ‘ îl folosește. Doar pentru că există kibble nu ‘ t înseamnă că oamenii îi plac sau îl folosesc de fapt.
  • Dacă acoperiți biți și octeți, ar trebui, de asemenea, să menționați pe scurt că un ” kilobit ” este aproape întotdeauna 1000 de biți (deoarece rețeaua) și un ” kilobyte ” este aproape întotdeauna 1024 de octeți (deoarece totul -except-pentru-rețea).
  • 1MiB este cu -5% mai mare decât 1MB, 1GiB este cu 7,4% mai mare decât 1GB și 1TiB este aproape y cu 10% mai mare decât 1Tb.
  • Am fost întotdeauna învățat că baza este binară, un cuvânt pe 8 biți este un octet, un cuvânt pe 16 biți este pe doi octeți și, după convenția binară, 1KB este 1024 de octeți , 1 MB este 1024 KB, 1 GB este 1024 MB, 1 TB este 1024 GB – și în binar, unitatea de bază a calculului, are sens. Am găsit întotdeauna că încercarea de adoptare a utilizării SI este o confuzie incorectă și inutilă. Acestea fiind spuse, în calitate de educator, un student va trebui să înțeleagă confuzia.
  • ” Ar trebui să învăț că 1 KB = 1024 octeți sau 1000 octeți ? ” Da. 🙂

Răspuns

Ar trebui să-i înveți că „s s-a încurcat fără reparații și este sarcina generației lor să învețe generația următoare să utilizeze prefixe standard cu sunete stupide , astfel încât atunci când se vor retrage în cele din urmă (iar actualii timer-uri actuali vor fi eliminați mai permanent din argument), poate fi în cele din urmă un consens.

După cum stau lucrurile în prezent, toate prefixele sunt necunoscute fără context.Un megabit de rețea este de $ 10 ^ 6 $ biți, un megabyte al sistemului de fișiere este de $ 2 ^ {20} $ octeți, un megabyte al hard diskului este undeva destul de aproape de $ 10 ^ 6 $ octeți, iar un megapixel este „probabil un milion de pixeli, cui îi pasă. „

Comentarii

  • Consensul pare să fie că dimensiunea discului este cea mai apropiată aproximare simplă mai mică decât n × 1000 ^ m. Deci, 2.057 × 10 ^ 12 octeți ar fi publicitate ca 2 TB, nu 2.1 TB.
  • I ‘ rețineți că prefixele rareori (practic niciodată) nu au semnificația lor binară cu alte unități decât octeți . Un megapixel are 1 milion de pixeli, un megabit este un milion de biți.
  • Megabyte-ul sistemului de fișiere este de 2 $ ^ {20} $ octeți – poate. Uneori, în același sistem de operare, ‘ veți vedea ” megaocteți ” (inclusiv precizia zecimală) fiind de $ 10 ^ 6 $ în unele dintre instrumente și $ 2 ^ {20} $ în altele. Cel mai adesea în instrumentele de linie de comandă față de instrumentele GUI, dar știu despre un sistem de operare în care chiar și diferite instrumente GUI furnizate de sistemul de operare nu sunt de acord cu asta …

Răspunde

De fapt, trebuie să-i învățați pe amândoi, astfel încât să fie avertizați că utilizarea nu este consecventă. Apoi puteți alege unul ca standard în cursul viitor.

Pe care îl alegeți depinde puțin de ceea ce predați. Dacă este cum să evaluați hard disk-uri etc., atunci $ K = 1000 $ funcționează acum. Cu toate acestea, pentru majoritatea programării, $ K = 2 ^ {10} = 1024 $ este probabil cel mai bun.

Din păcate, semnificațiile duble se datorează probabil producătorilor care încearcă să evite confuzia în mintea clienților nesofisticați.

Comentarii

  • Kilobyte a fost inventat cu mult înainte de 1000 byte kilobyte în 1998. IEC chiar a făcut o mizerie de lucruri.
  • Da, dar kilo = 1000 se întoarce în 1795: etymonline.com/word/kilo- Deci, non-geeks au o anumită prioritate aici, poate. Dar mai important: dacă îi înveți doar un singur lucru ca ” lucru corect ” îi configurați mai târziu pentru confuzie. Lumea este dezordonată. Profesorii nu ar trebui să ‘ să pretindă că nu este ‘ t. A fi dogmatic nu este foarte util ‘.
  • De asemenea, kB / KB nu ‘ te ajută cu MB, GB, TB care a) sunt mult mai relevante b) au diferențe mult mai mari.
  • ” Din păcate, dubla semnificație se datorează probabil producătorilor care încearcă să evite confuzia în gândurile clienților nesofisticați ” Mai probabil, agenții de publicitate doresc ca produsul lor să pară mai mare decât este în realitate. De ce să faceți publicitate unui hard disk de 3 TB utilizând 1 TB corect = 1024 * 1024 * 1024 * 1024 octeți atunci când puteți promova un hard disk de 3,3 TB utilizând avocatul aprobat 1 TB = 1000 * 1000 * 1000 * 1000 octeți. 3.3 este mai mare de 3, nu?
  • @Readin Sau, așa cum o văd mai des, o unitate de 3 TB care are de fapt 2,7 TB de stocare totală.

Răspunde

Diferența dintre a oferi elevilor tăi o discuție adecvată despre acest subiect și pur și simplu să-i înveți unul sau altul diferența dintre a fi un adevărat educator și a fi un recitator de factoizi.

Dacă nu există o singură definiție corectă a KB pentru tine, atunci de ce ai insufla ceva diferit studenților tăi? Răspunsul la întrebarea dvs. este astfel evident în formarea sa. Responsabilitatea dvs. ca profesor este să transmiteți o înțelegere a problemei, nu să o rezumați la unul sau la altul pe care știți că este mai puțin decât adevărat.

Comentarii

  • Sunt de acord, dar înainte de a oferi o discuție adecvată cu studenții mei, ‘ m ofer o discuție adecvată aici, care a fost intenția mea în primul rând ( în loc să obțineți simplu unul sau altul răspunsuri).

Răspuns

Da Sunt de acord cu alte răspunsuri, îi învăț pe amândouă și observ, de asemenea, similaritatea.

Diferența

  • $ \ text {ki} = 1024 = 2 ^ {10} $
  • $ \ text {k} = 1000 = 10 ^ 3 $
  • $ \ text {k}, \ text {M}, \ text {G}, \ text {T}, \ text {P} $ este uneori folosit pentru a însemna $ \ text {ki}, \ text {Mi}, \ text {Gi}, \ text {Ti}, \ text {Pi} $

Similitudinea

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

Matematică rapidă

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

Acest lucru are o oarecare similitudine și o oarecare diferență cu sistemul de bază 10 pe care (ar trebui) să-l cunoască. Mai întâi îl împărțim în blocuri de 10 (în loc de 3), restul pe care tocmai îl convertim la baza 10, restul este același.

În cazul în care este folosit (în principal)

Este important pentru a arăta unde sunt utilizate cele 2 sisteme. În timp ce unele răspunsuri spun că nu au văzut niciodată sistemul SI bazat pe $ 1000 $ utilizat în calcul. Se pare că sistemul SI este utilizat foarte mult, în funcție de ceea ce se măsoară.

  • IEC 60027-2 A.2 și ISO / IEC 80000 de ex. $ \ text {ki} $ :
    • măsurători ale memoriei principale: RAM, RAM, cache.
    • măsurarea dimensiunilor fișierului , dimensiunile partițiilor și dimensiunile discurilor din sistemul de operare.
  • Unități SI de ex $ \ text {k} $ :
    • măsurători ale dispozitivelor de memorie secundare: hard disk-uri, SSD-uri.
    • viteze de rețea.
    • Viteze CPU / memorie / magistrală.
    • toate celelalte viteze.

Cu toate acestea, utilizarea simbolului $ \ text {ki} $ în acest moment nu este întotdeauna folosit.


vezi și https://en.wikipedia.org/wiki/Binary_prefix

Comentarii

  • Acest răspuns pune întrebarea.
  • @prl Dacă doriți să evitați întrebarea (răspunzând la o altă întrebare), atunci aveți parțial dreptate. Încerc să răspund la alte răspunsuri. Și pentru a oferi câteva sfaturi despre „Cum”, unde întrebarea era „Care”.
  • IMO acesta este cel mai bun răspuns, dar ar putea fi ușor îmbunătățit prin menționarea explicită a stilului . Adică în același mod în care există stiluri diferite pentru citarea lucrărilor sau pentru delimitarea listelor (vide virgulă Oxford), există stiluri diferite pentru formatarea numerelor. Într-o publicație IEC post-2000, puteți presupune că stilul casei va fi SI / * bi. Alte organizații / editori pot folosi alte stiluri.
  • Răspuns destul de bun. Două puncte: 0) Pentru toate prefixele (k, M, Mi, Gi etc.), utilizați tipul roman, nu cursiv; Vă sugerez să utilizați \text{}. 1) Ki trebuie să aibă majuscule K.
  • @Nayuki „Prima literă a fiecărui astfel de prefix este, prin urmare, identică cu prefixele SI corespunzătoare, cu excepția ” K „, care este utilizat interschimbabil cu ” k „, în timp ce în SI, numai minuscula k reprezintă 1000. ” – en.wikipedia.org/wiki/Binary_prefix

Răspuns

Am lucrat profesional în IT de la mijlocul anilor 1980. Practica mea actuală este să scriu oricare dintre, de exemplu, KB sau KiB la care mă refer în acel moment, cu KB însemnând 10 USD ^ 3 $ și KiB însemnând $ 2 ^ {10} $. Dacă „vorbesc despre memoria RAM dintr-o mașină, voi scrie de exemplu” 64MiB „și dacă” vorbesc despre dimensiunea fabricată și comercializată a unui unitatea de disc Voi scrie „1 TB.” Nu sunt nu , totuși, sunt pregătit să folosesc cuvinte precum „mebibyte” în conversație. Poate că într-o zi îmi voi schimba abrevierile verbale din „meg” la „meb”, dar „încă nu sunt acolo.

Comentarii

  • I ‘ Nu am văzut niciodată, într-un interval de timp similar, MiB etc. folosit pentru RAM. KB / MB / GB / TB, în ceea ce privește RAM, este întotdeauna bazat pe 1024.
  • Dacă ‘ folosiți majuscule K pentru kilo , ‘ sunteți greșit.(Am văzut oameni amestecând milimetrul cu megamolarul.)
  • Cred că ‘ mai devreme spun / scriu ” megabyte binar ” pentru MiB decât ” mebibyte „, dar abrevierea ar fi OK .
  • @MontyHarder: Din punct de vedere al pronunției, ce zici de em-byte?
  • @supercat ” em-byte sună ca o abreviere de megabyte. Prin urmare, nu ‘ nu rezolvă ambiguitatea așa cum o face MiB. MiB mi se pare o abreviere utilă (” i ” infix reprezintă ” b_i_nary „), dar cuvântul ” mebibyte ” în sine nu iese din gura mea fără probleme, dacă este deloc.

Răspuns

Confuzia de bază se află în notația de la KB (derivat în baza 2) vs kB (unitate SI) la nivelul unității și este util să înțelegeți originea utilizării unității derivate de bază 2.

Un computer este o mașină binară.

La nivel de bază, adresarea memoriei este binară. De obicei, la nivel programatic, adresarea este tastată în format hexazecimal (inițial era binară); cu toate acestea, hexazecimal este derivat și în baza 2 (este baza 16 sau, 2 4 ) și deci este direct compatibil.

Începând de la nivelul KB pentru comunicarea înțelegerii aici este util deoarece conceptele de unități derivate de bază 2 au existat încă dinainte ca MB să fie utilizat în mod obișnuit (nu există diferențieri în prefixul de unitatea SI).

Pe un controler de memorie IC, dacă vă imaginați că selectorii de adrese sunt un rând de comutatoare (porți logice binare) și în funcție de modul în care sunt comutate, obțineți citirea memoriei de la o anumită adresă de pe liniile de date. Datele sunt stocate și returnate ca octeți.

Întotdeauna a existat un număr limitat de linii de adrese disponibile pentru memoria adreselor și se întâmplă ca utilizarea seturilor de adrese binare complete pentru un număr dat de biți de adresare să fie baza 2 numere. Deci, pe o mașină 4KB, există 12 linii de adrese care reprezintă adrese de la 0 la 4095 (4096 octeți). Aceste 12 linii de adrese corespund celor 111111111111 adrese posibile în binar, 0FFF în hexazecimal sau, 4096 octeți în zecimal. Nu ar fi logic să se limiteze maparea adreselor la 4000 de octeți de dragul convenției zecimale atunci când sunt disponibili 12 biți de adresare.

Această logică a urmat inițial și pe hard disk-uri, unde blocurile sunt grupuri de octeți accesate de adresa, cu toate acestea (și nu am verificat), am auzit că, probabil, furnizorilor de hard disk consideră că este mai puțin critic să folosească formatele de „adresare rotundă”, în special luând în considerare următoarele.

baza 2 derivată, deși, în scopuri de marketing, unii furnizori de hard disk de 20 MB pot să nu fie la fel de mari ca unii care respectă convenția. Este convenabil să plasați 20 MB pe ceva, chiar dacă nu conține atât de multe blocuri și este mai ușor de fabricat, deoarece este necesară o densitate de date mai mică.

Hard disk-uri IDE timpurii (au existat alte sisteme anterioare înainte de IDE) , înainte de introducerea sistemului de blocare logică (LBA), folosit pentru a fi configurat de cilindri, capete și sectoare (CHS). Întregul sistem de adresare era binar și chiar utilitarele standard Unix foloseau blocuri de 1024 octeți pentru afișare. [1] Instrumente standard precum Conky încă folosește baza 2 pentru afișarea informațiilor RAM și HDD, deși folosește formatul stil GiB pentru a evita confuzia. Mai târziu, sistemul de adresare LBA a permis maparea logică a formatului CHS pe măsură ce dimensiunea hard disk-ului a crescut, cu toate acestea, LBA aplică pur și simplu formatul CHS adresându-se intern în controlerul de pe hard disk și permite sistemului de operare (și programatorului) să ia în considerare doar blocurile logice.

Logica bazei 2 urmează la numere mai mari, de exemplu, 111111111111111111111111111111111 octeți are 2 GB în utilizare standard sau 7FFFFFFF octeți în hexazecimal. Este doar în zecimal unde acest lucru pare dezordonat ca 2.147.483.647 octeți, dar tehnologia și convențiile care stau la baza lor nu sunt zecimale. Calculatoarele nu sunt mașini zecimale; sunt mașini binare.

Adresarea în rețea utilizează de asemenea măști binare pe fiecare milion de pachete de date în fiecare secundă pentru a asigura rutare corectă, dar, a trecut mult timp de când porțiunea de date a unui pachet de rețea seamănă cu un număr de bază 2. Probabil că stratul cel mai exterior al pachetului încă face {conjecture}.

Fără îndoială, va trebui să menționați că există confuzie mai ales atunci când vine vorba de comercializarea produselor ca având o anumită dimensiune și că există unele implementări programatc pentru afișarea valorilor folosind unități SI (nu este mai mult incomod sau mai lent {de fapt, este probabil încă mai lent, dar pe computerele moderne nu mai este vizibil} pentru programatorii de computere să implementeze zecimale, în special pentru afișare), dar nu există nicio îndoială cu privire la utilizarea computerului că răspunsul corect este convenția de bază 2.

1024 KB este standardul JEDEC 100B.01 , ceea ce înseamnă că 1 KB este 1024 octeți.

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

Această întrebare a fost explorată pe larg.

SuperUser – Dimensiunea fișierelor din sistemul de operare Windows. (Este „KB sau kB?) – https://superuser.com/questions/938234/size-of-files-in-windows-os-its-kb-or-kb

Majoritatea sistemelor de operare și marea majoritate a dispozitivelor care se ocupă de memorie / stocare folosesc prefixele K pentru Kilo pentru a însemna 1024 octeți, așa că atunci când primesc RAM care spune că este un modul de 4 GB, știu că este 4 Gibi-octeți (4 * 1024 * 1024 * 1024) și nu Giga-Bytes (4 * 1000 * 1000 * 1000).


Quora – Unde folosim 1 kB = 1000 octeți, 1 MB = 1000 kB, 1 GB = 1000 MB, 1 TB = 1000 GB? Și unde folosim 1 KB = 1024 octeți, 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

A doua idee a fost formulată de industria calculatoarelor 1 KB = 1024 octeți 1 MB = 1024 KB 1 GB = 1024 MB Observați că folosesc majuscule B și nu mici b, iar majusculele B implică octeți B mici nu ar trebui să fie utilizate Acesta este cazul întotdeauna și este adevărat pentru lucrurile legate de computere


Prima idee a fost formulată de industria de telecomunicații și este aplicabilă nu pentru dimensiunea datelor (biți și octeți), ci pentru viteza datelor (biți pe secundă sau octeți pe secundă) 1 Kbps = 1000 bps (biți pe secundă) 1 Mbps = 1024 Kbps 1Gbps = 1024 Mbps Observați că folosesc b mic și nu capital B, iar b mic implică biți Capitalul B nu ar trebui să fie utilizat Acesta este cazul întotdeauna și este adevărat pentru lucrurile legate de transmiterea datelor

Comentarii

Răspuns

Adăug un al doilea răspuns pentru a clarifica unele probleme cu întrebarea și pentru a elimina confuzia evidentă din răspunsuri.

  1. Întrebarea afirmă în mod incorect că comunicarea IEC legată recomandă KB să însemne 1000. Linkul se referă doar la „kilo”.

  2. kB poate însemna kilobyte-ul SI, adică 1000 de octeți

  3. KB înseamnă și a însemnat întotdeauna 1024 de octeți.

Numărul 3 este în esență singura definiție utilă în ingineria software. Rețineți că K este cu majuscule.

Există, de asemenea, KiB, care este echivalent cu KB . Rețineți că cuvântul kilo este întotdeauna reprezentat de k mic. Pentru ca OP să învețe KB 1000 este întotdeauna greșit.

Cele de mai sus nu se aplică MB și versiunile superioare. Acolo, utilizarea este ambiguă și depinde de context.

Comentarii

  • Rețineți că, deși KB 1000 poate fi greșit, ‘ este, de asemenea, necesar pentru a învăța că o mulțime de oameni fac acest lucru greșit și, prin urmare, studenții nu trebuie să aibă niciodată încredere în KB pentru a însemna 1024 fără cunoștințe suplimentare despre context.
  • @Peter a fost de acord 100% O discuție amplă despre istorie și context într-un mod interesant și distractiv ar ajuta la diferențierea unei educații mediocre de o educație decentă.
  • În ce mod este numărul 3 ” singura definiție utilă „?
  • @immibis – s-a spus că este ” singura definiție utilă în ingineria software „. Datorită naturii binare a arhitecturii și software-ului computerului, ‘ este probabil corectă. În afara discuțiilor despre computere și în special despre software, cel mai probabil nu este corect.
  • @KevinFegan: Singurele situații în care mă pot gândi în cazul în care utilizarea unui K majuscul pentru 1000 nu ar trebui privite ca fiind pur și simplu greșite ar fi cele în cazul în care un ” k ” cu litere mici nu este disponibil, situații deosebite care implică semnalizare sau seturi de caractere limitate.

Răspuns

Învățați-le că, fără context, nu știți, deoarece cu siguranță există oameni care vor folosi k pentru a însemna 1000 și alții cine va folosi k pentru a însemna 1024. Ceea ce este corect nu este relevant deoarece ambele utilizări sunt acolo.Acest lucru lasă ambiguă orice utilizare a „k” cu octeți, cu excepția cazului în care oricine a dat numărul specificat, de asemenea, la ce se referă.

Din acest motiv, vă recomand să învățați că atunci când dați o valoare în octeți, utilizați întotdeauna un Prefix IEC ca Ki în schimb. 10 kB este ambiguu, 10 KiB nu.

Putem declara că anumite utilizări sunt „greșite” vreau și nu spun că este neapărat nejustificat, dar asta nu face ca aceste uzanțe să dispară.

Comentarii

  • Nu am văzut multe calculatoarele bazate pe zecimale recent, deci Kb atunci când se referă la computer nu este ambiguu ‘
  • @Neuromancer Dacă ‘ este ambiguu sau nu nu are nimic de-a face cu calculatoarele bazate pe zecimale …
  • @smithkm Arată-mi unde k mic k este ambiguu.
  • @ Neuromancer Kb înseamnă … Poate kb. Oh, viteza modemurilor telefonice obișnuite până la începutul anilor 2000 a fost dată în kb / s.
  • @rexkogitans Era Kbps pentru kilobiți pe secunda. Desigur, unele utilitare de rețea l-ar scala la octeți și ar fi KB / s (de obicei așa ceva), dar modemurile erau Kbps la fel ca acum ar putea fi Mbps sau Gbps (și așa mai departe). Sau dacă ‘ ești extrem de puțin probabil da Kbps. (Poate că unii l-au scris ca kbps)

Răspuns

Învățați-i pe amândoi, dar concentrați-vă pe 1024 în probleme. Va trebui să convertească lățimea de bandă etc în rețea și în alte cursuri.

Conversia utilizând 1000 este ușoară, dar 1024 este dificil, așa că concentrați-vă pe asta, cunoștințele îi vor ajuta în cursuri de arhitectură computerizată, asamblare și rețea. Va trebui să lucreze cu el într-o zi, așa că pregătește-i

Comentarii

Răspundeți

Toate celelalte răspunsuri oferă motive solide pentru învățarea faptului că există și cât de greșit este situația actuală. Acest lucru este important, dar nu clarifică ce ar trebui să prefere elevii să se folosească singuri. Acest răspuns se concentrează pe latura practică a ceea ce pot face elevii; după ce am aflat despre situația actuală din celelalte răspunsuri.

Să presupunem cel mai rău caz

La fel ca în cazul tuturor incertitudinilor de calcul, cea mai sigură opțiune este întotdeauna să ne asumăm cel mai rău -scenariu de caz. Adică, pentru a minimiza șansele ca o presupunere incorectă să provoace erori.

În această situație, se pot aplica următoarele pentru a acoperi bazele dvs.:

  • Presupuneți cantitatea de resurse pe care o aveți este în multipli de 1000 de octeți.

  • Să presupunem că resursele utilizate de bibliotecile terțe etc. sunt în multipli de 1024 de octeți.

  • Furnizați orice cifre pentru resursele pe care le utilizați ca multipli de 1000 de octeți.

Aceste trei ipoteze asigură că:

  • În cel mai rău caz, veți crede că aveți mai puține resurse decât aveți de fapt. De exemplu, presupunând că RAM de 4 KB înseamnă „4000 de octeți” ar putea însemna că intenționați să aveți 96 de octeți mai puțini decât în realitate. Dar înseamnă că nu veți planifica niciodată să aveți 96 de octeți mai mult decât faceți de fapt.

  • În cel mai rău caz, veți presupune că biblioteca care a spus că folosește 2kB RAM însemna că folosește 48 de octeți mai multă memorie decât o face de fapt (presupunem că înseamnă 2048, nu 2000). Dar nu veți planifica niciodată utilizarea acestuia cu 48 de octeți RAM mai puțin decât o face de fapt.

  • În cel mai rău caz, terți vor presupune că programul dvs. folosește mai multe resurse decât folosește, presupunând că ați însemnat 1024 octeți pe kB nu 1000. Dar nu veți conduce niciodată accidental cineva care crede că folosește mai puțin decât folosește de fapt.

Desigur, „nu este ideal să trebuiască să” pierde „resursele inutil. Dar, în cazul general, este puțin probabil ca diferența mică să fie suficientă (mai ales ca student) pentru a-și face proiectul imposibil de realizat. În acele cazuri specifice în care se întâmplă, ar trebui să măsoare deja amprentele exacte ale tuturor și neacceptând dimensiunile nimic din documentație numai.

Cu toate acestea, beneficiul este că presupunerile dvs. despre ceea ce altcineva înțelegea prin „2kB” nu vă vor face rău atunci când „greșesc. Care, în acest caz specific, și ca lecție generală pentru elevii dvs. – consider că este important.

Răspuns

„Care conversie ar trebui să predau elevilor mei de licență? ”

Sunt acești studenți de inginerie? Dacă da, aș avea 1024, pe baza matematicii binare, deoarece pe aceasta se bazează ingineria.

Puteți număra biții de pe degete:

  • $ 1 $ finger = $ 2 $ stări, 0 și 1.
  • $ 2,4,8,16,32,64, 128, 256, 512, 1024 $.Cea mai mare valoare zecimală care poate fi realizată este cu 1 mai mică, în timp ce numărul de stări reprezentate este $ 2 ^ x $ list.
  • $ 2 ^ 1 -1 = 1 $. Prin urmare 0,1
  • $ 2 ^ 2 – 1 = 3 $. Prin urmare 0,1,2,3
  • $ 2 ^ 3 – 1 = 7 $. Prin urmare 0,1,2,3,4,5,6,7
  • etc. până la 2 $ ^ 8 – 1 = 255 $. Prin urmare, 256 de state, de la 0 la 255.

Producătorii pot face publicitate ca 2.2TB, dar sistemul de operare îl va raporta ca 2TB, sau poate chiar 2TB utilizabil.

Comentarii

  • Incorect, din păcate. Diferite sisteme de operare raportează diferit. Mai exact cele fructate.
  • Incorect, din fericire. Sistemele de operare decente raportează dimensiunile corect, cu GB = 1 miliard de octeți. Cele fructate au început-o.
  • @ gnasher729: Având în vedere că unitățile de alocare sunt multipli de 512 octeți pe aproape fiecare sistem de operare, raportarea utilizării discului în unități de 1024 octeți are mult mai mult sens pentru mine decât raportarea în baza a zece unități.

Răspuns

În cei 26 de ani de inginer software profesionist nu am întâlnit niciodată KB pentru a înseamnă altceva decât 1024.

Învață-i orice definiții îți plac și asigură-te că știu că 1024 este singura utilă.

Comentarii

  • Comentariile nu sunt pentru discuții extinse; această conversație a fost mutată în chat . Discuția este pentru chat, nu pentru comentarii, iar orice discuție suplimentară din comentarii va fi ștearsă.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *