Quale conversione dovrei insegnare ai miei studenti universitari? Quel 1 kB è 1024 byte (binari) come tutti hanno imparato negli anni Novanta o la recente conversione “amichevole” condotta dal settore che dice che 1 kB è in realtà 1000 byte (decimali)?
La mia sensazione immediata va verso la conversione binaria, ma quando IEC dice il contrario e i principali sistemi operativi decidono per la conversione decimale (Mac OS X ≥ 10.6 e Ubuntu ≥ 10.10 ora usano i prefissi SI esclusivamente per fare riferimento a potenze di 1000) “Non ne sono più così sicuro.
Commenti
- Si noti che il prefisso SI ” kilo ” è sempre scritto con un ” k “. Personalmente, sono abituato a vedere ” kB “, anche quando non è strettamente ‘ ta SI prefix.
- xkcd
- Ram è risolto in kiB, Mib, GiB e dischi rigidi in kB, MB, GB. Entrambi spesso etichettati come kB, M B, GB. Quindi non si tratta sempre di programmazione.
- Quello che trovo divertente è che la versione power-of-two (quella che ‘ è chiaramente ciò che di solito si desidera ) non ha alcuna giustificazione per luso del prefisso ” Kilo ” – it ‘ è solo che un potere arbitrario di due si avvicina abbastanza a un potere arbitrario di 10, quindi ignoriamo la differenza per la comodità di poter dire ” K ” (o ” M ” o ” G “) perché ” 0x0200 ” abyte è troppo difficile da dire.
- Byte non è ununità SI. Lunità SI per la quantità è la talpa. 1 GB è circa 1,66 femtomole byte
Risposta
Dovresti insegnare entrambi e probabilmente vorrai usare il unità binaria. Quando parli della differenza, potrebbe essere utile spiegare loro come distinguerla durante la lettura:
Il chilo SI è k :
$ 1 \ \ text {kB (kilobyte)} = 10 ^ {3} \ \ text {bytes} = 1000 \ \ text {bytes} $
Mentre il binario kibi- è Ki :
$ 1 \ \ text {KiB (kibibyte)} = 2 ^ {10} \ \ text {bytes} = 1024 \ \ text {bytes} $
Ho notato che hai usato KB nella tua domanda per fare riferimento a entrambe le dimensioni; forse dovresti anche sottolineare che KB potrebbe essere interpretato come uno di questi prefissi (sebbene suggerisca Wikipedia è più spesso usato al posto di KiB). Nella tua posizione, suggerirei di chiarire quale intendi se usi questa notazione.
(Mentre stai “confondendo le unità, una differenza correlata nelle unità di scrittura è che la b minuscola è bit, la B maiuscola è byte; una differenza di otto volte è molto più significativa del 2,4%.)
Commenti
- Oltre a insegnare entrambi, devi insegnare che k / kilo può significare a seconda del contesto / di chi ‘ lo utilizza. Solo perché esistono crocchette ‘ significa che alle persone piace o lo usano effettivamente.
- Se copri bit e byte, dovresti anche menzionare almeno brevemente che un ” kilobit ” è quasi sempre 1000 bit (perché la rete) e un ” kilobyte ” è quasi sempre 1024 byte (perché tutto -except-for-networking).
- 1MiB è ≈5% più grande di 1 MB, 1GiB è 7,4% più grande di 1 GB e 1TiB è quasi y 10% più grande di 1 TB.
- Mi è sempre stato insegnato che la base è binaria, una parola a 8 bit è un byte, una parola a 16 bit è due byte e, secondo la convenzione binaria 1 KB è 1024 byte , 1 MB è 1024 KB, 1 GB è 1024 MB, 1 TB è 1024 GB e in binario, lunità di base del computer, ha perfettamente senso. Ho sempre trovato il tentativo di adozione delluso di SI una confusione errata e non necessaria. Detto questo, in qualità di educatore, uno studente dovrà comprendere la confusione.
- ” Devo insegnare che 1 KB = 1024 byte o 1000 byte ? ” Sì. 🙂
Risposta
Dovresti insegnare loro che “è incasinato irreparabilmente , ed è compito della loro generazione insegnare alla prossima generazione a utilizzare i prefissi standard che suonano sciocchi , in modo che quando alla fine si ritireranno (e gli attuali vecchietti vengono rimossi in modo più permanente dallargomento), può finalmente essere un consenso.
Allo stato attuale delle cose, tutti i prefissi sono inconoscibili senza contesto.Un megabit di rete costa $ 10 ^ 6 $ bit, un megabyte del filesystem costa $ 2 ^ {20} $ byte, un megabyte del disco rigido è da qualche parte vicino a $ 10 ^ 6 $ byte e un megapixel è “probabilmente un milione di pixel, chi se ne frega. “
Commenti
- Il consenso sembra essere che la dimensione del disco è lapprossimazione semplice più vicina inferiore n × 1000 ^ m. Quindi 2,057 × 10 ^ 12 byte verrebbero pubblicizzati come 2 TB, non 2,1 TB.
- I ‘ d notare che i prefissi raramente (praticamente mai) hanno il loro significato binario con unità diverse da byte . Un megapixel è 1 milione di pixel, un megabit è un milione di bit.
- Il megabyte del filesystem è $ 2 ^ {20} $ byte, forse. A volte nello stesso sistema operativo ‘ vedrai ” megabyte ” (inclusa la precisione decimale) essendo $ 10 ^ 6 $ in alcuni strumenti e $ 2 ^ {20} $ in altri. Molto spesso negli strumenti della riga di comando rispetto agli strumenti della GUI, ma conosco un sistema operativo in cui anche diversi strumenti della GUI forniti dal sistema operativo non sono daccordo su questo …
Risposta
In realtà, devi insegnare a entrambi in modo che vengano avvertiti che lutilizzo non è coerente. Quindi puoi sceglierne uno come standard nel tuo corso in futuro.
Quello che scegli dipende in parte da ciò che insegni. Se è come valutare i dischi rigidi, ecc. Allora $ K = 1000 $ funziona ora. Per la maggior parte della programmazione, tuttavia, $ K = 2 ^ {10} = 1024 $ è probabilmente il migliore.
Purtroppo, il duplice significato è probabilmente dovuto ai produttori che cercano di evitare confusione nella mente dei clienti non sofisticati.
Commenti
- Kilobyte è stato coniato molto prima dei 1.000 byte kilobyte nel 1998. LIEC ha solo combinato un pasticcio di cose.
- Sì, ma kilo = 1000 risale al 1795: etymonline.com/word/kilo- Quindi i non geek hanno qualche precedenza qui, forse. Ma più importante: se insegni loro solo una cosa come ” cosa corretta “, li configuri per creare confusione in seguito. Il mondo è disordinato. Gli insegnanti non dovrebbero ‘ fingere che non sia ‘ t. Essere dogmatici non è ‘ molto utile.
- Anche kB / KB non ‘ aiuta con MB, GB, TB che a) sono molto più rilevanti b) presentano differenze molto maggiori.
- ” Purtroppo, il duplice significato è probabilmente dovuto ai produttori che cercano di evitare confusione nel menti di clienti non sofisticati ” È più probabile che gli inserzionisti desiderino che il loro prodotto abbia un suono più grande di quanto non sia in realtà. Perché pubblicizzare un disco rigido da 3 TB utilizzando il corretto 1 TB = 1024 * 1024 * 1024 * 1024 byte quando è possibile pubblicizzare un disco rigido da 3,3 TB utilizzando 1 TB approvato dallavvocato = 1000 * 1000 * 1000 * 1000 byte. 3.3 è più grande di 3, giusto?
- @Readin Oppure, come vedo più spesso, ununità da 3 TB con 2,7 TB di spazio di archiviazione totale.
Risposta
La differenza tra fornire ai tuoi studenti una discussione adeguata su questo argomento e insegnare loro l luno o laltro è la differenza tra essere un vero educatore ed essere un recitatore di fatti.
Se non esiste ununica definizione corretta di KB per te, perché instilleresti qualcosa di diverso nei tuoi studenti? La risposta alla tua domanda è quindi ovvia nella sua formazione. La tua responsabilità come insegnante è di trasmettere una comprensione del problema, non di ridurlo alluno o allaltro fatto che sai essere meno che vero.
Commenti
- Sono daccordo ma prima di fornire una discussione adeguata con i miei studenti, ‘ sto fornendo una discussione adeguata qui che era la mia intenzione in primo luogo ( invece di ottenere semplici luna o laltra risposte).
Risposta
Sì Sono daccordo con altre risposte, le insegno entrambe e noto anche la somiglianza.
La differenza
- $ \ text {ki} = 1024 = 2 ^ {10} $
- $ \ text {k} = 1000 = 10 ^ 3 $
- $ \ text {k}, \ text {M}, \ text {G}, \ text {T}, \ text {P} $ è talvolta usato per indicare $ \ text {ki}, \ text {Mi}, \ text {Gi}, \ text {Ti}, \ text {Pi} $
La somiglianza
- $ 1 = \ text {k} ^ 0 $ e $ 1 = \ text {ki} ^ 0 $
- $ \ text {k} = \ text {k} ^ 1 $ e $ \ text {ki} = \ text {ki} ^ 1 $
- $ \ text {M} = \ text {k } ^ 2 $ e $ \ text {Mi} = \ text {ki} ^ 2 $
- $ \ text {G} = \ text {k} ^ 3 $ e $ \ text {Gi} = \ text {ki} ^ 3 $
- $ \ text {T} = \ tex t {k} ^ 4 $ e $ \ text {Ti} = \ text {ki} ^ 4 $
- $ \ text {P} = \ text {k} ^ 5 $ e $ \ text {Pi} = \ text {ki} ^ 5 $
- $ \ text {E} = \ text {k} ^ 6 $ e $ \ text {Ei} = \ text {ki} ^ 6 $
Matematica veloce
$ 64 \ text {bits} = (6 \ times 10 + 4) \ text {bits} = \ text {ki} ^ 6 \ times 2 ^ {4} = 16 \ text {indirizzi Ei} $
Questo ha alcune somiglianze e alcune differenze con il sistema di base 10 che (dovrebbero) conoscere. Per prima cosa lo suddividiamo in blocchi da 10 (invece di 3), il resto lo convertiamo in base 10, il resto è lo stesso.
Dove usato (principalmente)
È importante mostrare dove vengono utilizzati i 2 sistemi. Mentre alcune risposte dicono di non aver mai visto il sistema SI basato su $ 1000 $ utilizzato nellinformatica. Risulta che il sistema SI viene utilizzato molto, a seconda di ciò che viene misurato.
- IEC 60027-2 A.2 e ISO / IEC 80000 ad es. $ \ text {ki} $ :
- misure della memoria primaria: RAM, RAM, cache.
- misura delle dimensioni dei file , dimensioni delle partizioni e dimensioni dei dischi allinterno del sistema operativo.
- Unità SI ad es $ \ text {k} $ :
- misure dei dispositivi di memoria secondaria: dischi rigidi, SSD.
- velocità di rete.
- Velocità CPU / memoria / bus.
- tutte le altre velocità.
Tuttavia luso del simbolo $ \ text {ki} $ in questo momento non è sempre utilizzato.
vedi anche https://en.wikipedia.org/wiki/Binary_prefix
Commenti
- Questa risposta pone la domanda.
- @prl Se intendi schivare la domanda (rispondendo a una domanda diversa), allora hai parzialmente ragione. Sto cercando di estendere ad altre risposte. E per dare qualche consiglio su “Come”, dove la domanda era “Quale”.
- IMO questa è la risposta migliore, ma potrebbe essere leggermente migliorata menzionando esplicitamente lo stile . Cioè allo stesso modo in cui esistono stili diversi per citazioni di documenti o per delimitare elenchi (vedi virgola di Oxford), esistono diversi stili per la formattazione dei numeri. In una pubblicazione IEC successiva al 2000 si può presumere che lo stile della casa sarà SI / * bi. Altre organizzazioni / editori possono utilizzare altri stili.
- Risposta abbastanza buona. Due nitpicks: 0) Per tutti i prefissi (k, M, Mi, Gi, ecc.), Usa il carattere romano, non corsivo; Suggerisco di utilizzare
\text{}
. 1) Ki deve avere la K maiuscola - @Nayuki “La prima lettera di ciascuno di questi prefissi è quindi identica ai corrispondenti prefissi SI, ad eccezione di ” K “, utilizzato in modo intercambiabile con ” k “, mentre in SI, solo il la k minuscola rappresenta 1000. ” – en.wikipedia.org/wiki/Binary_prefix
Risposta
Ho lavorato nel settore IT professionalmente dalla metà degli anni 80. La mia pratica attuale è quella di scrivere qualsiasi tipo di KB o KiB che intendo al momento, con KB che significa $ 10 ^ 3 $ e KiB significa $ 2 ^ {10} $. Se parlo della RAM in una macchina, scriverò ad esempio “64MiB” e se parlo delle dimensioni come prodotto e come commercializzato di un unità disco “scriverò” 1 TB. “ Non , tuttavia, sono pronto a usare parole come” mebibyte “nella conversazione. Forse un giorno cambierò le mie abbreviazioni verbali da es. “meg” a “meb” ma “non sono ancora arrivato.
Commenti
- I ‘ non ho mai visto, in un lasso di tempo simile, MiB, ecc. utilizzato per la RAM. KB / MB / GB / TB per quanto riguarda la RAM è sempre basato su 1024.
- Se ‘ stai usando K maiuscolo per kilo , ‘ ti sbagli.(Ho visto persone confondere il millimetro con il megamolare.)
- Penso di ‘ dirò / scrivi ” megabyte binario ” per MiB rispetto a ” mebibyte “, ma labbreviazione sarebbe corretta .
- @MontyHarder: dal punto di vista della pronuncia, che ne dici di em-byte?
- @supercat ” em-byte ” suona come unabbreviazione di megabyte. Pertanto non ‘ risolve lambiguità come fa MiB. Trovo MiB unabbreviazione utile (il ” i ” infisso rappresenta ” b_i_nary “), ma la parola ” mebibyte ” stessa non esce facilmente dalla mia bocca, se non del tutto.
Risposta
La confusione di base è nella notazione al KB (derivata in base 2) vs kB (unità SI) ed è utile capire lorigine delluso dellunità derivata in base 2.
Un computer è una macchina binaria.
Al livello base, lindirizzamento della memoria è binario. Solitamente, a livello programmatico, lindirizzamento è digitato in formato esadecimale (originariamente era binario); tuttavia, anche lesadecimale è derivato in base 2 (è in base 16 o 2 4 ) e quindi è direttamente compatibile.
Iniziare a livello di KB per comunicare la comprensione qui è utile poiché i concetti di unità derivate in base 2 esistono da prima che MB fosse di uso comune (nessuna differenziazione nel prefisso dallunità SI).
Su un controller di memoria IC, se si immagina che i selettori di indirizzo siano una fila di interruttori (porte logiche binarie) e in base a come vengono commutate si ottiene la lettura della memoria da un indirizzo specifico sulle linee dati. I dati vengono memorizzati e restituiti come byte.
Cè sempre stato un numero limitato di linee di indirizzo disponibili per indirizzare la memoria, e così accade che lutilizzo di insiemi di indirizzi completi binari per un dato numero di bit di indirizzamento sia numeri in base 2. Quindi, su una macchina da 4 KB, ci sono 12 linee di indirizzo che rappresentano gli indirizzi da 0 a 4095 (4096 byte). Queste 12 righe di indirizzo corrispondono agli indirizzi 111111111111 possibili in binario, 0FFF in esadecimale o 4096 byte in decimale. Non sarebbe logico limitare la mappatura degli indirizzi a 4000 byte per motivi di convenzione decimale quando sono disponibili 12 bit di indirizzamento.
Questa logica seguiva inizialmente anche i dischi rigidi, dove i blocchi sono gruppi di byte accessibili da indirizzo, tuttavia (e non ho controllato), sento che forse i produttori di dischi rigidi trovano meno critico utilizzare formati di “indirizzamento circolare”, in particolare considerando quanto segue.
Tutti i valori standard nella terminologia dei computer sono base 2 derivata, sebbene, per scopi di marketing, il disco rigido da 20 MB di alcuni fornitori potrebbe non essere grande quanto altri che mantengono la convenzione. È conveniente dare uno schiaffo a 20 MB su qualcosa anche se non contiene tanti blocchi ed è più facile da produrre perché è richiesta una minore densità di dati.
I primi dischi rigidi IDE (cerano altri sistemi precedenti prima di IDE) , prima dellintroduzione del sistema Logical Block Addressing (LBA), era configurato da cilindri, testine e settori (CHS). Lintero sistema di indirizzamento era binario e persino le utilità Unix standard utilizzavano blocchi da 1024 byte per la visualizzazione. [1] Strumenti standard come Conky utilizza ancora la base 2 per la visualizzazione delle informazioni su RAM e HDD, sebbene utilizzi il formato in stile GiB per evitare confusione. Successivamente, il sistema di indirizzamento LBA ha consentito la mappatura logica del formato CHS man mano che le dimensioni del disco rigido aumentavano, tuttavia, LBA applica semplicemente lindirizzamento del formato CHS internamente al controller integrato del disco rigido e consente al sistema operativo (e al programmatore) di considerare solo i blocchi logici.
La logica di base 2 segue fino a numeri più grandi, ad esempio, 1111111111111111111111111111111 byte è 2 GB in uso standard o 7FFFFFFF byte in esadecimale. È solo in decimale dove sembra disordinato come 2.147.483.647 byte, ma la tecnologia e le convenzioni sottostanti non sono decimali. I computer non sono macchine decimali; sono macchine binarie.
Lindirizzamento di rete utilizza anche maschere binarie su ognuno dei milioni di pacchetti di dati ogni secondo per garantire il corretto instradamento ma, è passato molto tempo da quando la porzione di dati di un pacchetto di rete ha assomigliato a un numero in base 2. Probabilmente lo strato più esterno del pacchetto fa ancora {congettura}.
Dovrai senza dubbio menzionare che cè confusione specialmente quando si tratta di marketing di prodotti con una dimensione particolare e che ci sono alcune implementazioni programmatiche per la visualizzazione di valori usando unità SI (non è più scomodo o più lento {in realtà, probabilmente è ancora più lento, ma sui computer moderni non è più evidente} per i programmatori di computer implementare il decimale, in particolare per la visualizzazione) ma non ci possono essere dubbi sulluso del computer che la risposta corretta sia la convenzione base 2.
1024 KB è lo standard JEDEC 100B.01 , il che significa che 1 KB è 1024 byte.
rel:
[1] Wikipedia – Settore testata cilindri (CHS) – https://en.wikipedia.org/wiki/Cylinder-head-sector
Questa domanda è stata ampiamente esaminata.
SuperUser: dimensione dei file nel sistema operativo Windows. (È KB o KB?) – https://superuser.com/questions/938234/size-of-files-in-windows-os-its-kb-or-kb
La maggior parte dei sistemi operativi e la stragrande maggioranza dei dispositivi che si occupano di memoria / archiviazione utilizza i prefissi K per Kilo per indicare 1024 byte, quindi quando ottengo RAM che dice “un modulo da 4 GB, so che è” 4 Gibi-Bytes (4 * 1024 * 1024 * 1024) e non Giga-byte (4 * 1000 * 1000 * 1000).
Quora – Dove usiamo 1 kB = 1000 byte, 1 MB = 1000 kB, 1 GB = 1000 MB, 1 TB = 1000 GB? E dove usiamo 1 KB = 1024 byte, 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
La seconda idea è stata formulata dallindustria dei computer 1KB = 1024 byte 1MB = 1024 KB 1 GB = 1024 MB Avviso Sto usando la B maiuscola e non la b minuscola, e la B maiuscola implica byte La b minuscola non dovrebbe essere usata Questo è sempre il caso ed è vero per le cose relative ai computer
La prima idea è stata formulata dallindustria delle telecomunicazioni ed è applicabile non per la dimensione dei dati (bit e byte) ma per la velocità dei dati (bit per secondo o byte per secondo) 1 Kbps = 1000 bps (bit per secondo) 1 Mbps = 1024 Kbps 1 Gbps = 1024 Mbps Avviso Sto usando la b minuscola e non la B maiuscola, e la b minuscola implica bit La B maiuscola non dovrebbe essere usata Questo è sempre il caso ed è vero per le cose relative alla trasmissione dei dati
Commenti
- Perché non ‘ vieni da The Classroom (la chat room del sito ‘ s) ?
Risposta
Aggiungo una seconda risposta per chiarire alcuni problemi con la domanda e per eliminare lovvia confusione nelle risposte.
-
La domanda afferma erroneamente che la comunicazione IEC collegata raccomanda che KB significhi 1000. Il collegamento si riferisce solo a “kilo”.
-
kB può significare il kilobyte SI, cioè 1000 byte
-
KB fa e ha sempre significato 1024 byte.
Il numero 3 è essenzialmente lunica definizione utile nellingegneria del software. Nota che la K è maiuscola.
Cè anche KiB che è equivalente a KB . Nota che la parola chilo è sempre rappresentata da una piccola k. Per OP insegnare KB come 1000 è sempre sbagliato.
Quanto sopra non si applica a MB e superiori. In questo caso lutilizzo è ambiguo e dipende dal contesto.
Commenti
- Nota che mentre KB come 1000 può essere completamente sbagliato, ‘ è anche necessario per insegnare che molte persone fanno questo in modo sbagliato, e quindi gli studenti non devono mai fidarsi di KB per indicare 1024 senza ulteriore conoscenza del contesto.
- @Peter Concorda al 100% Unampia discussione della storia e del contesto in un modo interessante e divertente aiuterebbe a differenziare unistruzione mediocre da unistruzione decente.
- In che modo è il numero 3 ” lunica definizione utile “?
- @immibis – si diceva che fosse ” lunica definizione utile nellingegneria del software “. A causa della natura binaria dellarchitettura e del software del computer, ‘ è probabilmente corretto. Al di fuori delle discussioni sui computer e in particolare sul software, molto probabilmente non è corretto.
- @KevinFegan: Le uniche situazioni in cui riesco a pensare in cui luso di una K maiuscola per 1000 non dovrebbe essere visto come semplicemente sbagliato, dove un ” k ” minuscolo non è disponibile, ad esempio alcune situazioni che coinvolgono segnaletica o set di caratteri limitati.
Risposta
Insegna loro che senza contesto, non lo sai perché sicuramente ci sono persone là fuori che useranno k per indicare 1000 e altri chi userà k per indicare 1024. Che è giusto non è rilevante perché entrambi gli usi sono là fuori.Questo lascia ambiguo qualsiasi uso di “k” con byte a meno che chi ha fornito il numero non specifichi anche cosa significano.
Per questo motivo ti “consiglio di insegnare che quando dai un valore in byte, usa sempre un Prefisso IEC come Ki invece. 10 kB è ambiguo, 10 KiB no.
Possiamo dichiarare che certi usi sono “sbagliati” tutti noi voglio, e non sto dicendo che è necessariamente ingiustificato, ma questo non fa sparire quegli usi.
Commenti
- Non ne vedo molti computer basati sui decimali di recente quindi Kb quando si fa riferimento al computer non è ‘ t ambiguo
- @Neuromancer Se ‘ è ambiguo o no non ha nulla a che fare con i computer basati sui decimali …
- @smithkm Mostrami dove k piccolo k è ambiguo.
- @Neuromancer Kb significa … Forse kb. Oh, la velocità dei modem telefonici comuni fino ai primi anni 2000 era espressa in kb / s.
- @rexkogitans Era Kbps per i kilobit al secondo. Ovviamente alcune utilità di rete lo scalerebbero a byte e quello sarebbe KB / s (di solito qualcosa del genere) ma i modem erano Kbps proprio come ora potrebbe essere Mbps o Gbps (e così via). Oppure, se ‘ sei estremamente improbabile sì Kbps. (Forse alcuni lo hanno scritto come kbps però)
Answer
Insegna a entrambi ma concentrati su 1024 nei problemi. Avranno bisogno di convertire la larghezza di banda, ecc. Nel networking e in altri corsi.
Convertire usando 1000 è facile ma 1024 è complicato, quindi concentrati su questo, la conoscenza li aiuterà nellarchitettura del computer, nei corsi di assemblaggio e networking. Un giorno dovranno lavorarci sopra, quindi preparali
Commenti
- @immibis ‘ @Lynob Se ‘ desideri continuare questa discussione, fallo in chat . Tuttavia, se credi semplicemente che la risposta non sia corretta, downvote e vai avanti .
Risposta
Tutte le altre risposte danno solide ragioni per insegnare che entrambe esistono e quanto sia incasinata la situazione attuale. Questo è importante, ma non chiarisce cosa gli studenti dovrebbero preferire usare da soli. Questa risposta si concentra sul lato pratico di ciò che gli studenti possono fare; dopo aver appreso la situazione attuale dalle altre risposte.
Assumi il caso peggiore
Come per tutte le incertezze nellinformatica, lopzione più sicura è sempre quella di assumere il peggiore -caso scenario. Cioè, per ridurre al minimo la possibilità che un presupposto errato causi bug.
In questa situazione, è possibile applicare quanto segue per coprire le tue basi:
-
Supponi la quantità di risorse che hai è in multipli di 1000 byte.
-
Supponi che le risorse utilizzate da librerie di terze parti ecc. siano in multipli di 1024 byte.
-
Fornisci le cifre per le risorse che utilizzi come multipli di 1000 byte.
Questi tre presupposti assicurano che:
-
Nel peggiore dei casi, penserai di avere meno risorse di quelle che effettivamente hai. Ad esempio, supponendo che 4kB di RAM significhi “4000 byte” potrebbe significare che si prevede di avere 96 byte in meno rispetto a quanto si fa effettivamente. Ma significa che non pianificherai mai di avere 96 byte in più di quanto ne hai effettivamente.
-
Nel peggiore dei casi, presumerai che la libreria che diceva di utilizzare 2kB di RAM significasse che utilizza 48 byte di memoria in più di quanto non faccia effettivamente (supponiamo che significhi 2048, non 2000). Ma non pianificherai mai di utilizzare 48 byte di RAM in meno di quanto non faccia effettivamente.
-
Nel peggiore dei casi, terze parti presumeranno che il tuo programma utilizzi più risorse di quante ne utilizzi, assumendo che tu intenda 1024 byte per kB e non 1000. Ma non sarai mai accidentalmente qualcuno a pensare che ne usi meno di quanto non faccia in realtà.
Ovviamente, non è lideale per farlo ” perdere “risorse inutilmente. Ma nel caso generale, è improbabile che la piccola differenza sia sufficiente (soprattutto come studente) per rendere il loro progetto irrealizzabile. In quei casi specifici in cui lo fa, dovrebbero già misurare le impronte esatte di tutto e non assumere le dimensioni di qualcosa dalla sola documentazione.
Il vantaggio, tuttavia, è che le tue supposizioni su ciò che qualcun altro intendeva per “2kB” non ti danneggeranno quando si sbagliano. Che in questo caso specifico, e come lezione generale per i tuoi studenti, penso sia importante.
Risposta
“Quale conversione devo insegnare ai miei studenti universitari? “
Sono studenti universitari legati allingegneria? Se sì, ho ottenuto 1024, in base alla matematica binaria poiché è su questo che si basa lingegneria.
Puoi contare i bit sulle tue dita:
- $ 1 $ finger = $ 2 $ stati, 0 e 1.
- $ 2,4,8,16,32,64, 128, 256, 512, 1024 $.Il valore decimale più alto realizzabile è 1 in meno, mentre il numero di stati rappresentati è $ 2 ^ x $ list.
- $ 2 ^ 1 -1 = 1 $. Quindi 0,1
- $ 2 ^ 2 – 1 = 3 $. Quindi 0,1,2,3
- $ 2 ^ 3 – 1 = 7 $. Pertanto 0,1,2,3,4,5,6,7
- ecc. fino a $ 2 ^ 8 – 1 = 255 $. Pertanto 256 stati, da 0 a 255.
I produttori possono pubblicizzare come 2,2 TB, ma il sistema operativo lo segnalerà come 2 TB, o forse anche 2 TB utilizzabile.
Commenti
- Sbagliato, sfortunatamente. Diversi sistemi operativi riportano in modo diverso. In particolare quelli fruttati.
- Sbagliato, fortunatamente. I sistemi operativi decenti riportano dimensioni corrette, con GB = 1 miliardo di byte. I fruttuosi lo hanno avviato.
- @ gnasher729: dato che le unità di allocazione sono multipli di 512 byte su quasi tutti i sistemi operativi, riportare lutilizzo del disco in unità di 1024 byte ha molto più senso per me base dieci unità.
Risposta
Nei miei 26 anni come ingegnere software professionista non ho mai incontrato KB per significa qualcosa di diverso da 1024.
Insegna loro le definizioni che preferisci e assicurati che sappiano che 1024 è lunica utile.
Commenti
- I commenti non sono per discussioni estese; questa conversazione è stata spostata nella chat . La discussione è per la chat, non per i commenti e qualsiasi ulteriore discussione nei commenti verrà eliminata.