Spojrzałem na dysk twardy i znalazłem dokument (firmy Toshiba, link: 2,5-calowy dysk twardy SATA mq01abdxxx ), który mówi:
„Jeden gigabajt (1 GB) oznacza 10 ^ 9 = 1 000 000 000 bajtów przy użyciu mocy 10. Komputerowy system operacyjny zgłasza jednak pojemność pamięci przy użyciu mocy 2 dla definicji 1 GB = 2 ^ 30 = 1 073 741 824 bajtów, a zatem pokazuje mniej pamięci Pojemność."
Wtedy potęgi 10 są większe niż potęgi 2, OK.
Przykład 10 ^ 2 = 100 i 2 ^ 2 = 4.
Ale nie rozumiem dokumentu, który mówi o tej samej pojemności:
1 GB to 1 000 000 000 bajtów (moc 10) i 1 073 741 824 bajtów (moc 2), a następnie: pokazuje mniejszą pojemność pamięci (moc 2). Dlaczego jest mniej? Jeśli widzę dla 1 GB większej pojemności pamięci przy potęgach 2 niż potęgach 10.
źródło
Odpowiedzi:
Historycznym powodem użycia mocy 2 jest to, że procesor uzyskuje dostęp do pamięci i dysku twardego za pomocą przestrzeni adresowej złożonej z wierszy kodu binarnego. Producenci sprzętu zdecydowali o nazwach w ten sposób:
2^10 = 1024 and as it's almost 1000 then call it 1 Kilobyte
2^20 = 1048576 bytes and as it's almost 1000000 then call it 1 Megabyte
Dla zwykłego użytkownika jest to nonsens i kłopotliwe. Ponadto przedrostki „kilo”, „mega” itp. Wchodzą w konflikt ze standardem Międzynarodowego Systemu Jednostek (SI), w którym „1 kilowat” oznacza 10 ^ 3 lub 1000 watów.
Aby rozwiązać problem, w 2000 r. Międzynarodowa Komisja Elektrotechniczna lub IEC zaproponowała schemat notacji dla jednostek opartych na mocach 2 na normie ISO / IEC 80000-13 .
Nowe nazwy zostały utworzone przez zastąpienie drugiej sylaby w starej nazwie słowem „bi” (odnoszącym się do „2”). Kilobajt musi być teraz w kibibyte i tak dalej. Nowe jednostki również otrzymały odpowiednie symbole, więc „10 kibibajtów” jest teraz zapisywane jako 10 KiB zamiast 10 kB . To jest tabela korespondencji:
16 lat później wielu dostawców sprzętu i oprogramowania nadal odnosi się do jednostek base-2 z ich nazwami SI . „Megabajt” może oznaczać 1000000 bajtów lub 1048576 bajtów.
W przypadku zakupu dysku twardego o pojemności 100 GB pojemność wynosi 100x10 ^ 9 lub 10 ^ 11 bajtów. Ale i to jest duże, ale system operacyjny zgłosi tylko, że dysk ma pojemność 93 GB
(10^11)/(2^30)
. Kupiłeś 100 gigabajtowy dysk, który jest odpowiednikiem 93 gibibyte napędu. System operacyjny korzysta z niewłaściwej notacji.Producenci napędów ukrywają ten problem za pomocą zastrzeżeń i wyjaśnień, które zawsze prowadzą do wniosku, że „rzeczywista sformatowana pojemność może być mniejsza”.
źródło
W skrócie: chodziło o marketing.
jcbermu wyjaśnił dobrze, ale nie zgadzam się z powodami tego wszystkiego.
Podczas gdy dowolny system informatyczny korzysta z systemu binarnego, bity i bajty są zapisywane jako ^ 2, co jest normalne. Więc to nie system operacyjny ani oprogramowanie są winne zamieszania. Tutaj wszystko jest binarne.
Producentami dysków twardych jest określenie pojemności dysków twardych w systemie ^ 10, co pozbawia cię praktycznych GB. Dysk twardy o pojemności 20 GB będzie w stanie pomieścić 18 GB i tak dalej ... Dysk o pojemności 1 TB będzie miał pojemność ~ 930 GB. Kpina „bibajtów” została wymyślona, aby zapobiec niektórym nieporozumieniom, ale zupełnie nie została praktycznie przyjęta.
źródło
It's the fault of HDD manufacturers to state the HDD capacities in ^10 system, which robs you of quite some practical GB.
Nie, żadna z tych rzeczy nie jest prawdą. Producenci HD robią to od samego początku, wykorzystując rzeczywistą, prawidłową definicję jednostek. To nie ich wina, że programiści, producenci pamięci i ktokolwiek inny niewłaściwie korzystał z jednostek SI. I oczywiście, w jakiej jednostce mierzona jest przestrzeń dyskowa, „nie pozbawia cię praktycznego GB” ani nie zmienia w żaden sposób pojemności.Odpowiedź jcbermu jest dobra, ale chcę podejść do tego z innej perspektywy.
Nośnik pamięci - dowolny nośnik danych - może przechowywać określoną liczbę dostępnych bitów. Zwykle w obliczeniach ogólnego przeznaczenia wyraża się go w bajtach lub kilku wielokrotnościach bajtów, ale jeśli zaczniesz patrzeć na przykład na układy scalone pamięci (układy scalone, układy scalone), zobaczysz ich pojemność wyrażoną w kategoriach dostępnych bitów.
Dysk twardy będzie przechowywał określoną liczbę bitów lub bajtów, które ze względów technicznych są adresowane w kategoriach sektorów. Na przykład dysk o pojemności 4 TB może mieć 7,814,037,168 sektorów po 512 bajtów każdy, co daje pojemność do przechowywania 4 000 778 030 016 bajtów. Właśnie to dostajesz. (W praktyce tracisz część tego na informacje księgowe komputera: system plików, dziennik, partycjonowanie itp. Jednak bajty nadal tam są, po prostu nie możesz ich użyć do przechowywania plików, ponieważ są one potrzebne do przechowywania dane, które skutecznie pozwalają przechowywać pliki).
Oczywiście liczba 4 778 030 016 jest nieco niewygodna. Z tego powodu postanowiliśmy przedstawić te informacje w inny sposób. Ale jak ilustruje jcbermu, wybieramy to na dwa różne sposoby: w potęgach dziesięciu lub potęgach dwóch.
W potęgach dziesięciu 4.000.787.030.016 bajtów wynosi 4.000787030016 * 10 ^ 12 bajtów, co ładnie się zaokrągla; z czterema cyframi znaczącymi zaokrągla się do 4.001 TB, dla definicji SI „tera”: 10 ^ 12. Nasz dysk twardy może przechowywać więcej niż 4 * 10 ^ 12 bajtów, więc w ujęciu SI jest to 4-terabajtowe urządzenie magazynujące.
W potęgach dwóch 4 000 778 030 016 bajtów wynosi 3,638694607 * 2 ^ 40 bajtów, co nie jest tak dobre. To też wygląda jak mniejsza ilość, bo 3,639 jest mniejsza niż 4.001, a to jest złe dla marketingu (który chce kupić dysk 3,6 TB, gdy producent sprzedaje obok dysku 4,0 TB w tej samej cenie?). Jest to binarny przedrostek 3.6 „tebibajty”, gdzie „bi” oznacza, że jest to podstawowa ilość.
W rzeczywistości jest to jednak dokładnie taka sama liczba bajtów; liczba jest wyrażona tylko inaczej! Jeśli powtórzysz matematykę, zobaczysz, że 3,638694607 * 2 ^ 40 = 4.000787030016 * 10 ^ 12, więc w końcu otrzymasz taką samą pojemność.
źródło
Inne odpowiedzi dotyczyły historycznej przyczyny różnicy, ale wydaje mi się, że pytasz o różnicę zgodnie z matematyką.
Masz rację, że jedna potęga 10 jest większa niż jedna potęga 2, i odwrotnie, jeden gigabajt (10 ^ 9 bajtów) jest mniejszy niż jeden gibibajt (2 ^ 30 bajtów).
Odwrócenie rozmiarów tłumaczy się tym, że w jednym gibibajdzie (30 mocy) jest więcej mocy niż w jednym gigabajcie (9 mocy). Okazuje się, że liczba mocy ma większy wpływ na ostateczny rozmiar niż wielkość każdej indywidualnej mocy.
Co do tego, dlaczego zgłaszany rozmiar dysku jest mniejszy przy pomiarze w gibibajtach (2 ^ 30) niż przy pomiarze w gigabajtach (10 ^ 9), to naturalne, że przy pomiarze stałej wielkości większa jednostka miary daje mniejszą liczbę . Weźmy na przykład wysokość w calach i wysokość w centymetrach. Ponieważ jeden cal jest większy niż jeden centymetr, ta sama wysokość będzie mierzyć mniej cali (np. 72 cale) niż centymetry (np. 183 centymetry). Wysokość jest w obu przypadkach taka sama fizyczna odległość, ale każdy pomiar podaje inną liczbę zgodnie z jednostką miary.
źródło