Czy używacie "kibibyte" jako jednostki miary w swoich programach? [zamknięte]

Przez dziesięciolecia w dziedzinie obliczeń (z wyjątkiem producentów dysków) KB (kilobajt) rozumiano jako 1024 bajty. W ciągu ostatnich kilku lat nastąpił ruch, aby używać KiB ("kibibyte") do znaczenia 1024 bajtów i zmienić znaczenie kilobajtów na 1000 bajtów, co przysparza nam wiele lat zamieszania. Z drugiej strony ruch wydaje się ograniczać do Gnome i niektórych nadgorliwych edytorów Wikipedii .

Czy będziesz konwertował swoje programy do użyć KiB? Jeśli kiedykolwiek wyświetlałeś Rozmiar pliku w KB, czy dzieliłeś przez 1000 lub 1024?

Author: Bill the Lizard, 2008-10-07

23 answers

KB to 1024 bajty, damnit.

 84
Author: Cody Brocious,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 01:44:30

Zrobiłem to już kiedyś w aplikacji. Podczas gdy wewnętrznie używał kibbi i mebbi (KiB, MiB, itp.), nadal wyświetlał to, do czego użytkownicy (w tym przypadku ludzie) byli przyzwyczajeni. Pole bazowe było po prostu długie, które było w bajtach IIRC.

Był kompatybilny z forward, I pozwoliłby przynajmniej wprowadzić 4 GB, jak również 4GiB. Rozumiał też wpis skrótowy jak 4,5 G i odpowiednio zaokrąglony z powrotem do rzeczywistej liczby bajtów - nie zmuszając biednego użytkownika do wprowadzania go w ten sposób i zapobiec ich błędom. Aktualizacja do użycia notacji IEC to 1 linijka kodu.


Kilo jest 1000 i 98% świata używa metryki. Musimy to przeboleć.

Widzę wiele gniewu w wielu z tych odpowiedzi, które mnie zaskakują. Prefiksy SI są prefiksami SI, a programiści nie mają prawa ich zmieniać bez lepszego powodu niż wygoda i zwyczaj. To dziwne, że Ci z informatyki, wysoce technicznej dziedziny, domagają się powrotu do czasów kubitów furlongi i pręty. wtf?

wszyscy wiemy, co mamy na myśli, ale trzymanie się zwyczajów zraża i dezorientuje użytkowników. To, że w pierwszych dniach pionierskich niektórzy faceci, mówiąc o pamięci komputera, zdecydowali się ponownie użyć notacji SI, nie oznacza, że mieli rację, aby to zrobić.

 44
Author: Robert Paulson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-28 23:32:19

Moim zdaniem 1 kilobajt równa się 1000 bajtów to coś, w co producenci napędów chcą, abyś uwierzył, aby twój napęd wyglądał bardziej przestronnie niż naprawdę jest. ;)

Potraktowałbym ' kibbyte 'bardziej poważnie, gdyby nie brzmiało tak jak' Kibbles N Bits

 31
Author: wai,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-08 14:08:32

Ponieważ spędziłem kilka lat ucząc się być mechanikiem przed zmianą kierunku, muszę przyznać ,że "kilo" zawsze oznacza dla mnie 10^3. Z tego punktu widzenia KiB ma sens. Spróbuj jednak powiedzieć kilka razy" kibibyte " i pomyśl, jak głupio brzmisz.

Zatem kilogram to 1000 gramów, kilobajt to 1024 bajty.

Dodatek: ponadto zgadzam się z tymi, którzy mówili, że nie powinniśmy zmieniać tego, co już ustalone, jeśli to zadziała. 1024 jest po prostu ładniejsza liczba w systemie binarnym. Ponadto, "kibibyte" nadal brzmi jak coś, co pies je.

 27
Author: Kederaji,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 02:22:56

To nie zmienia znaczenia "kilobajt". Kilo oznacza 1000. Niektórzy ludzie używali go nieprawidłowo, aby odnieść się do jednostek 1024 bajtów.

Nigdy nie wyświetlam rozmiarów plików w kibibytes, ponieważ użytkownicy nie dbają o 1000 vs 1024. Zamiast tego zawsze używam "XXX KB / MB / GB", gdzie XXX to liczba bajtów podzielona przez 1 tysiąc / 1 milion / itd.

 15
Author: John Millikin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 01:48:25

Są 2 sposoby na przemyślenie tego:

  1. Użyj tego, czego używa system operacyjny, na którym pracujesz. W ten sposób użytkownicy mają spójne doświadczenie.

  2. Użyj tego, co jest poprawne.

Jeśli używasz KiB zawsze, chociaż nie będzie zamieszania. Jeśli użyjesz KB, będzie zamieszanie. Więc jeśli wybrałeś opcję # 2, lepiej będzie użyć 1024 i użyć sufiksu KiB. Praca z mocami 2 i tak jest bardziej wydajna.

To do ty, ale moja zasada byłaby taka, że jeśli masz publiczność techniczną, to używaj KiB i unikaj wszelkich nieporozumień. Jeśli masz dużą bazę użytkowników nietechnicznych, użyj tego, czego używa Twój system operacyjny. Nawiasem mówiąc, Windows używa KB, aby oznaczać 1024 bajty.

 15
Author: Brian R. Bondy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-03-28 23:54:07

Używam KiB.

Czy naprawdę chcesz skrzywdzić wszystkich, odmawiając stosowania ugruntowanych standardów, tak jak IE?

 11
Author: Omer van Kloeten,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-08 11:30:02

Obszary specjalizacji zawsze używały terminów w sposób rozumiany przez tę specjalizację. Na przykład, Inżynier budowy mostu używa terminu "stres", aby oznaczać coś zupełnie innego niż, powiedzmy, prawnik, który dowiaduje się, że jego główny świadek kłamał pierwszego dnia w sądzie. Czy powinniśmy zlecić inżynierowi stosowanie tej samej definicji "stresu" co prawnikowi tylko dlatego, że definicja ta jest szerzej stosowana? Jeśli to zrobimy, Nie przejadę przez to. mostek!

Kilobajty = 1024 bajty. Jego przemysł przyjął specjalizację tego terminu.

 10
Author: Chris Latta,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 02:31:17

Zawsze wyświetlałem Rozmiar pliku w kilobajtach 1000 bajtów. To prawie nigdy nie ma znaczenia dla ludzi, którzy nie mogą odróżnić, i często łagodzi zamieszanie, gdy widzą rzeczywistą liczbę. 65323 bajtów = 65kb po zaokrągleniu, a "normalni" ludzie to lubią.

Prawdopodobnie nigdy nie będę wyświetlać "KiB" , ponieważ nigdy tego nie chcą moi klienci.

Arogancja decydowania się na nieprzestrzeganie standardu stworzonego przez nie tylko społeczność komputerową (patrz... to nie jest "nowe", że Kilo faktycznie oznacza 1000) jest oszałamiająca.

 9
Author: billjamesdev,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 01:59:35

Tylko wtedy, gdy sytuacja tego wymaga. W prawie wszystkich przypadkach bardziej odpowiednie sÄ… jednostki oparte na 1000.

Jedynymi wyjątkami, które znam, są pamięć, ponieważ naturalnie występuje w wielokrotnościach mocy dwóch, i rozmiar CD, ponieważ jest mierzona w wielokrotnościach 220 bajtów przez producentów. Wszystko inne, w tym dyski twarde, DVD, pamięci flash, pasma, prędkości procesora, magistrale pamięci itp. obecnie mierzy się w 1000s, a rozmiary plików też powinny być. (A przynajmniej mnie i Steve Jobs. Windows prawdopodobnie będzie nadal mierzyć rozmiary plików w 1024s przez lata...)

Aby uniknąć mylenia użytkownika, użyj k - = 1000, A Ki - = 1024.

Niechlujne użycie "k" do oznaczenia 1024 jest bezbożną obrzydliwością, która powinna być zabita ogniem.

 8
Author: endolith,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-10-27 21:58:04

Pracuję w branży magazynowej od 10 lat. Argumenty o rozmiarze TB mogą zmieniać rozmiar rozwiązania o 10%. Krótko mówiąc: programiści i Przemysł magazynowy stosują różne pomiary. Ani nie mają racji cały czas.

The Storage Networking Industry Association (SNIA) dictionary definiuje kilobajt jako:

Kilobajt (KB)

[ogólne] 1000 (10^3) bajtów.

SNIA używa konwencji 10^3 powszechnie spotykany w literaturze związanej z przechowywaniem i transferem danych, a nie w konwencji 1,024 (2^10), powszechnie stosowanej w systemach komputerowych i literaturze oprogramowania.

Moja zasada to:

  • mierz pamięć, pliki, systemy plików i dane w sieci w blokach 1024^n bajtów.
  • Zmierz nieprzetworzonÄ… przestrzeÅ„ dyskowÄ… - i tylko nieprzetworzonÄ… przestrzeÅ„ dyskowÄ… - w blokach 1000^n bajtów.
  • powiedz klientowi, którego urzÄ…dzenia używasz. Powtarzaj siÄ™ czÄ™sto.

W Zasadzie, to trzyma mnie z dala od kłopotów.

 6
Author: Garth Kidd,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 06:00:35

Mac OS X nie używa KiB, MiB, GiB. Z drugiej strony, gdy używa metrycznych, przynajmniej poprawnie wykonuje obliczenia:

Zrzut ekranu Mac OS X

Osobiście wolę zrobić to dobrze, aby użytkownicy, którzy są obecnie w ciemności, mogli się z tego uczyć. Czekanie na zmiany użytkowników jest po prostu głupie. Użytkownicy nie obudzili się nagle pewnego dnia i nie myśleli, że kilobajt to 1024 bajty - to oprogramowanie sprawiło, że tak myślą, więc nie powinno być zadaniem oprogramowania, aby skorygować błąd?

 5
Author: Trejkaz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-11-16 05:08:15

Jeden z programów, nad którym pracuję, domyślnie używa "KiB" , ale ma pewność, jaką jednostkę miary użyć (1024 B W KiB, 1024 B W KB lub 1000 B W KB).

 3
Author: MiffTheFox,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-10 00:13:10

Technicznie KiB jest poprawny, ale widziałem to tylko w kilku aplikacjach (głównie aplikacje konsolowe Linuksa). Użytkownicy są przyzwyczajeni do pracy z 1024 zarówno dla KB, jak i dla KiB (ludzie z IT) lub nie obchodzi ich to i będą myśleć, że" KiB " jest błędnie napisane (ludzie spoza IT).

Jednak: jestem przyzwyczajony do pracy z "kilobajty = 1024 bajty" od ponad 20 lat i mimo, że wiem, że jest to naukowo błędne, będę go używać.

Jeśli musisz DOSTARCZYĆ KiB, aby twoja dusza mogła rest, udostępnij go jako opcję, ale nie myl biednych użytkowników z kolejną definicją - zwłaszcza jeśli pracują z systemem operacyjnym, który wykorzystuje podejście nienaukowe i definiuje KB jako 1024.

(BTW: Kibibytes zawsze przypomina mi Tinky Winkyi jego przyjaciół... ;) )

 1
Author: BlaM,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-08 11:17:16

Próbowałem zacząć używać tych terminów, kiedy uczyłem moich uczniów, ale teraz się poddałem.

Uczyłem wprowadzającego kursu komputerowego ("and this is a disk drive") kilka razy i może być mylące dla uczniów, że prefiksy oznaczają różne rzeczy w różnych kontekstach. Kilo oznacza 1024, gdy masz kilobajt lub kilobit danych, chyba że przechowujesz go na dysku, gdy jest to 1000, a jeśli wysyłasz kilobit na sekundę przez sieć, to jest 1000, a kiloherc to oczywiście 1000. A jeden kilometr kabla światłowodowego to 1000 metrów! Ale okazuje się, że to naprawdę nie jest taki wielki problem. Studenci inżynierii i Informatyki muszą znać różnicę, a i tak się do niej przyzwyczają. Kiedy spotykam ich ponownie na kursach bazodanowych lub w kursie kompilatora, nigdy nie ma żadnego zamieszania na temat różnych rodzajów kilo, megas i teras. A studenci z innych dziedzin (media design itd.) nie bardzo care.

I po tym, jak zrobiłem nieformalną ankietę wśród innych informatyków na moim korytarzu na uniwersytecie i dowiedziałem się, że większość z nich nigdy nie słyszała o tych nowych prefiksach, zdecydowanie zrezygnowałem.

 0
Author: Thomas Padron-McCarthy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 06:25:00

Liczba 1024 bajtów jest kilobajtem, niezależnie od tego, czy ma to sens.

Użycie przedrostka "kilo -" dla jednostek o długości 1024 bajtów było prawdopodobnie błędem. Ale teraz to standard. Próba zmiany go teraz tylko dodaje zamieszania.

Nie mamy do czynienia ze światem tak, jak powinien być; mamy do czynienia ze światem takim, jaki jest.

 0
Author: Will Wagner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 12:16:30

A KB to 1024 bajty KB to 1000 bajtów niestety napisane jest niejednoznaczne. Zawsze używam 1024.

Knuth odnosi się do MB jako KKBytes lub kkBytes, aby odróżnić 1024*1024 od 1000 * 1000

 0
Author: Dan Hewett,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 18:21:04

I ' m still going by measures of 2 10 * n until computers are based on decimal...

 -1
Author: Jimmy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 01:49:05

Dla mnie jest to trochę jak argumenty 'hakerów', które mieliśmy w tamtych czasach.

W zależności od tego, ile masz lat i jesteś uparty, 'haker' może oznaczać dla ciebie coś innego. Przez jakiś czas w mediach (i prawdopodobnie jeszcze dziś, częściowo) ludzie uważają hakowanie za akt nielegalnego włamywania się do maszyn. Jednak w tej branży ludzie czują, że jest to ktoś, kto lubi majstrować przy rzeczach.

Przez jakiś czas społeczność bezpieczeństwa nie była pewna, czy to start, a właściwie próbowaliśmy użyć "cracker", aby odnieść się do złych facetów. Nie sądzę, że cracker naprawdę odszedł tak, jak byśmy chcieli, ale odzyskaliśmy "haker" jako uzasadnione określenie, do całkiem rozsądnego stopnia sukcesu.

Dla mnie jest to to samo: tylko dlatego, że media próbowały uznać KB za 1,000, nigdy się nie wycofam i zawsze będę bronił praw pozostałych 24 bitów.

24bFL

 -1
Author: Noon Silk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-09-10 00:21:30

Szczerze mówiąc nigdy o tym nie słyszałem i wątpię, aby zyskało to dużą trakcję w głównym nurcie użytkowania. Nie mogę sobie wyobrazić, dlaczego miałbym to robić. Obecna definicja kilobajtów jest dokładna i wystarczająca. Wolałbym, aby producenci dysków twardych zaczęli używać dokładnej terminologii, a nie dalszej tępej terminologii technicznej. Dlaczego producenci nie mogą zbudować dysków o rozmiarze xGB lub po prostu powiedzieć, czym naprawdę są?

 -2
Author: Glenn Slaven,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 01:45:51

Drivemaker / denary kilobajty mogą spłonąć w piekle. Jednostki binarne dla maszyn binarnych.

 -2
Author: Alex M,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 01:46:13

Poza narzekaniami na to, jak należy zmienić terminologię, nigdy nie słyszałem tych wyrażeń. To się nie uda.

 -2
Author: Jeffrey L Whitledge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 01:46:50

Kilo oznacza 10^3, gdy pracujesz w systemie liczb dziesiętnych.

Kilo oznacza 2^10, gdy pracujesz w systemie liczb binarnych.

Spójrz na to... obie są dość arbitralne. Wydaje mi się, że wszystko inne jest równie arbitralne - więc mamy 40-lat zakorzenione arbitralne kontra zupełnie nowe arbitralne. Który powinien wygrać? Na razie głosuję za tą metodą, po prostu dlatego, że spowoduje ona mniej całkowitego zamieszania.

W pewnym momencie nasza technologia jest zobowiązany do zmiany-pomyśl quantum / Komputery genetyczne-ten punkt będzie dobrą okazją do dezynfekcji naszego systemu pomiarowego.

Również niektórzy użytkownicy zawsze będą zdezorientowani - czy powinniśmy usunąć zamieszanie dla nich, ryzykując mylenie społeczności, która sprawia, że to wszystko się dzieje (my i ludzie od sprzętu)? Nie sądzę.

 -2
Author: Johan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2008-10-07 05:52:28