Bästa svaret
Till att börja med är alla andra svar bra.
Jag skulle bara lägga till det för disk läser och skriver den minsta enheten är skivsektorn. disksektorer är troligen 4096 byte vardera för hårddiskar. (de kan göras så små som 512 byte men moderna system skulle tränga alldeles för mycket i den storleken) Så en enda fil om den är mindre än 1 sektor kommer fortfarande att sekvestrera hela sektorn och få de återstående byten skrivna noll. De flesta diskpartitionsscheman gör att filer tar upp en hel sektor eller flera hela sektorer oavsett hur små de är.
Så 100 filer på mindre än 1 kB tar inte upp 100 kB utan 4 MB. Det är sjukt. Men en enorm videofil på 2 GB tar 2 GB plus en del av 4 kB och har nollor som fyller i den sista sektorn. Såvida inte filen kan läggas på disken i på varandra följande sektorer, i vilket fall den kan ta upp mycket mer än det på grund av fragmentering.
Den blå delen av bilden är en geometrisk sektor och den röda är ett spår. C är skivsektorn (4096 byte). Datadensiteten är mer på insidan eftersom skivans utsida snurrar snabbare än de inre sektorerna. Den här bilden får sektorn att se enorm ut, men i verkligheten kan en 2 TB HD ha ~ 4 miljarder disk sektorer.
Allt är för det mesta automatiskt, användarna har inget att säga om hur skivan gör. Moderna operativsystem har utvecklat filsystem som BSD: s UFS2 och Linux: s nya Btrfs och Sun Microsystems ZFS för att återställa oanvänt slackutrymme i sektorer för användning och till och med göra variabla blockstorlekar.
Men för de flesta människor tar varje fil upp några multipel av 4Kbytes och fyller den sista med nollor efter slutet av filen.
Så ja, det finns två olika system Giga och Giba, plus att det är den fudge-faktor som tillverkarna använder för reklam och försäljning.
I nternational E lektroteknisk C utelämnande (IEC, verkligen elektroteknisk … sheesh 1908 ringer och vill ha deras ord tillbaka ..) sätter standarden för binär dataenheter.
Du hittar fortfarande KB och MB och ibland även GB i gamla texter. De betyder multiplar av 1024. Men kolla deras matematik och se om 1000 eller 1024 är vettigare.
Windows ligger förresten. Lögner, lögner, lögner om filernas storlek och hur mycket tom disk som finns kvar. Tro aldrig deras lager Explorer.exe-nummer. Få ett skivprogram från tredje part med ett gott rykte för att göra storlekskontroller och diskanalys.
Svara
Strängt taget 1TB = 1000 GB exakt. Åtminstone sedan slutet av 90-talet när ISO-kommittén standardiserade de metriska prefix som används i datorer. Vad du ser är emellertid den inkonsekventa (och felaktiga) tendensen hos många system på datorer som använder TB för att faktiskt betyda TiB och GB för att faktiskt betyda GiB.
Vad är skillnaden? Och varför är det ens där?
Skillnaden är ett prefix Gi / Ti / Mi / ki / etc. betyder att det fungerar med krafter på 2. T.ex. 1 ki = 1024, 1Mi = 1024 ki = 1024 x 1024 = 1048576. Fortsätt till Gi, Ti, Pi, etc. i samma mönster. Medan ak är exakt 1000 och 1 M = 1000k = 1000000 etc. i ett liknande mönster.
Anledningarna till att datorer använder dessa power-of-two-alternativ är att datorer gör matte med bas-2 (binär) istället för vårt mänskliga sätt att räkna i bas-10 (decimal). Och i binär är 1000 faktiskt inte ett ”runt” nummer. Det lämnar rester vid delning och behov bär när man multiplicerar. Det betyder att om datorn gjorde alla sina minnes- / diskåtkomstberäkningar på dessa skulle den behöva göra mer komplicerade matematik och därmed köra långsammare.
Om den höll sig fast vid skenande delar i räkningar i kraft av två multiplicera och dela blir en enkel ”flytta siffran” -åtgärd. Precis som att multiplicera och dela med 10 är väldigt lätt att göra i decimal, multiplicera och dela med 2 (eller vilken kraft som helst på två) är lika lätt i binär – lägg bara till fler 0 till slutet eller ta bort några siffror från slutet. / p>
Du ser det här problemet vanligtvis på hårddiskar. Tillverkaren använder det ”korrekta” sättet att ange att skivan är (säg) 1 GB. Och den innehåller faktiskt 1000 000 000 byte. Men operativsystemet listar de som GiB, det förväntar sig 1GiB = 1024 MiB = 1024 x 1024 kiB = 1024 x 1024 x 1024 byte = 1073 741824 byte. Men eftersom skivan innehåller mindre än detta, arbeta tvärtom:
1 000 000 000 byte / 1024 = 976562,5 kiB = 953,674… MiB = 0,931… GiB.
Samma burk görs för att TB / TiB som i de flesta skivor dessa dagar. Det är bara en extra 1024-faktor att multiplicera eller dela med.