چه تفاوتی بین یک کیلوبایت و یک کیبیت وجود دارد؟


پاسخ 1:

این سردرگمی ناشی از نامگذاری ویندوز است. اما بعداً برمی گردیم

 

یک کیلوبایت از پیشوند کیلو SI استفاده می کند ، این یعنی چیزی 1000 بار. این بدان معناست که 1 کیلوبایت با 1000 بایت مطابقت دارد. یک کیبیت از پیشوند Kibi استفاده می کند ، که من مطمئن نیستم SI باشد یا نه. kibi- به معنی 1024 بار چیزی است ، بنابراین 1 کیلوبایت 1024 بایت است.

 

ویندوز برای جلوگیری از استفاده کاربر از پیشوند kibi ، کیبیت را به عنوان کیلوبایت نامگذاری می کند. اما من نمی دانم که چرا آنها به جای انجام کارهای سبک لینوکس ، این مقیاس را انتخاب کردند! منظورم این است که هارد دیسک 320 GB من (شماره تجارت) 298 GB (در واقع GiB) در ویندوز و 319 است. چیزی در لینوکس. منظورم wtf با مایکروسافت اشتباه است ؟!


پاسخ 2:

پاسخ کوتاه: "kibi-" به معنی 1024 تمام وقت است. "کیلو" بیشتر به معنای "1000" است ، اما هنگام سرد شدن حافظه / شبکه / رابط حافظه اصلی ، خطر سردرگمی وجود دارد ، هنگامی که "کیلو" گاهی به معنی "1024" است و این عمدتا به دلیل استفاده تاریخی است. ، RAM معمولاً به صورت باینری توصیف می شود: یک "RAM کیلوبایت RAM" با 1024 B مطابقت دارد ، اما یک کیلوبایت HD معمولاً با 1000 B مطابقت دارد ، اما برخی از سیستم های عامل (اکثر؟) در هنگام تمرکز روی چیزهایی مانند اندازه پرونده و پرونده های رایگان فضای شما را اشغال می کنند.

Historically,thecomputerscientistsbuildinghardwareandmemoryfounditeasiestandmostconvenienttocountthingsinbinarysincetheywereactuallyusingbinaryatalowlevel.Since210=1024isprettycloseto[math]103[/math],thefolkscreatingthehardware/memoryaddressingadoptedthekiloprefixtomean1024bytesandmegatobe[math]220[/math]=1,048,576isstillprettycloseto[math]103[/math].Historically, the computer scientists building hardware and memory found it easiest and most convenient to count things in binary since they were actually using binary at a low level. Since 2^{10} =1024 is pretty close to [math]10^{3}[/math], the folks creating the hardware/memory addressing adopted the “kilo-” prefix to mean 1024 bytes and “mega” to be [math]2^{20}[/math] =1,048,576 is still pretty close to [math]10^{3}[/math].

سایر دانشمندان رایانه که در مناطق دیگر این زمینه کار می کردند (به عنوان مثال شبکه و ذخیره سازی) عمدتاً از تعریف اصلی SI استفاده می کردند ، جایی که "کیلو" به معنای 1000 و "مگا" 1،000،000 بود. 1،000،000،000 بایت در هارد دیسک ذخیره شد که با عنوان "1 GB" اعلام شد.

Inthelate1990s,thebinomenclaturewasformallyintroducedbytheInternationalElectrotechnicalCommissiontoprovideawaytogetaroundtheambiguity.Usingkibibyte/KiB,mebibyte/MiB,gibibyte/GiB,etc.wouldunambiguouslyrefertothe210,[math]220[/math],[math]230[/math],etc.TheseprefixesareapartofofficialSIdefinitionsnow,butIdontthinkanyoneusesthebinaryprefixesoutsideofcomputerrelatedcontexts(Mycaruses38Lper100kibimetersjusthasprobablyneverbeensaid.)In the late 1990’s, the “-bi-” nomenclature was formally introduced by the International Electrotechnical Commission to provide a way to get around the ambiguity. Using kibibyte/KiB, mebibyte/MiB, gibibyte/GiB, etc. would unambiguously refer to the 2^{10}, [math]2^{20}[/math] ,[math]2^{30}[/math], etc. These prefixes are a part of official SI definitions now, but I don’t think anyone uses the binary prefixes outside of computer-related contexts (“My car uses 38 L per 100 kibimeters” just has probably never been said.)

هنگام افزودن شبکه در بحث ، مشکلات اضافی بوجود می آید. به طور سنتی ، پایه 10 هنگام مراجعه به "بیت" ("b") به جای "بایت" ("B") که در اکثر حوزه های دیگر نمایش داده می شود ، استفاده می شود. علاوه بر این ، بیشتر پروتکل های شبکه شامل padding (بیت های شروع و توقف) و کدهای تصحیح / تشخیص خطا (به عنوان مثال بیت برابری) هستند. یعنی برای انتقال یک بایت داده واحد (8 بیت) داده ارسال شده از طریق خط می تواند 11 بیت یا بیشتر باشد. به عنوان مثال ، یک اتصال شبکه 1 گیگابیت در ثانیه ممکن است 1،000،000،000 بیت را از طریق کابل در هر ثانیه ارسال کند. با این حال ، این انتقال به انتقال اطلاعات مؤثر 125،000،000 گیگابیت بر ثانیه حتی در شرایط بهینه منجر نمی شود.

Whenthemarketingpeoplegetinvolved,itgetsconfusingtoo.Thebase10unitssoundbetterthanthebinaryunits.Ievenrememberseeingadvertisementsinthe1980sand90swheretheycombinedtheunitsinwaysthatwereespeciallyconfusing:e.g.amegabytebeing1,024,000bytes(i.e210103.)Fortunately,thatkindofusagewasrare.When the marketing people get involved, it gets confusing too. The base-10 units sound better than the binary units. I even remember seeing advertisements in the 1980′s and 90’s where they combined the units in ways that were especially confusing: e.g. a “megabyte” being 1,024,000 bytes (i.e 2^{10}*10^{3}.) Fortunately, that kind of usage was rare.

برخی از ابزارهای یونیکس به شما امکان می دهند فرمت های خروجی را انتخاب کنید. به عنوان مثال ، با استناد به صفحه man برای ابزار "df" (گزارش استفاده از فضا فایل دیسک سیستم):

-h ، - اندازه چاپ قابل خواندن توسط انسان با فرمت قابل خواندن توسط انسان (به عنوان مثال 1K 234M 2G) -H ، - مجزا ، اما از قدرت هاي 1000 ، نه 1024 استفاده كنيد