سؤال ما هو أصل K = 1024؟ [مغلق]


لماذا يوجد تباين في عدد البايتات في كيلوبايت؟ في بعض الأماكن رأيت عدد 1024 (2)10) بينما في الآخرين يكون 1000 (والفرق يزداد بشكل كبير مع M ، G ، T ، إلخ).

هذا ليس نقاشًا حول ما إذا كان يجب أن يكون 1024 أو 1000 (على الرغم من أنه يمكنك مناقشته في التعليقات) ولكن حول أين / عندما نشأ هذا الموقف و / أو أصبح واسع الانتشار.

بقدر ما أعرف ، لا تستخدم الشركات المصنعة للأجهزة وأجهزة Linux أبدًا متغير 1024. هذا ، والأغاني ، جعلني أعتقد أن MS-DOS جعل هذا الإصدار شائعًا ، ولكن ما هي الحقائق؟


73
2018-05-23 11:00


الأصل


تمثيل واحد في ثنائي (2 ^ 10 ، أو 1024) بينما الآخر في عشري (10 ^ 3 أو 1000) ... - Trezoid
إذا كنت تبحث عن أشخاص معينين لإلقاء اللوم عليهم ، فأشر إلى الشركات المصنعة لمحرك الأقراص الصلبة. فهو يجعل أجهزتهم تبدو وكأنها تتمتع بسعة أكبر عندما يتم التعبير عنها بالميغا بايت العشرية ، والجيجابايت ، إلخ. لقد فعلوا هذا دائمًا على ما أعتقد ولكن لم يحدث حتى وقت قريب أن الفجوة بين العشريتين والثنائي قد نمت على نطاق واسع بما فيه الكفاية إلى أهمية كبيرة. - LawrenceC
ultrasawblade: أنت تريد إلقاء اللوم على الشركات المصنعة للأقراص الصلبة لكونها واحدة من المجموعات الوحيدة التي تستخدم هذا المصطلح gigabyte بشكل صحيح؟ - paradroid
يبدو لي دائما أن يكون مفهوما أن 1K = 1024 مع أي شيء يتعلق بالكمبيوتر قبل 20GB أو حتى أصبحت محركات مألوفة. ويتزامن هذا أيضًا تقريبًا مع الوقت الذي بدأ فيه العديد من الأشخاص غير الفنيين استخدام أجهزة الكمبيوتر بشكل منتظم. كميات هائلة من أدبيات الكمبيوتر (التقنية وغير الفنية) من أوائل التسعينيات وما قبلها لا تذكر أي شيء عن الكسور "العشرية" أو "kibibytes". - LawrenceC
paradroid: يعني gigabyte الأصل 1024 ميغابايت (و mb = 1024 kb ، الخ). كان retconned يعني 1000 لأن المصنوعات HDD أصر على استخدامه بشكل خاطئ. من المسلم به أن هذا يعتمد على ما تعتبره "صحيحًا" لأن الكيلو يعني 1000 ، ولكن في علم الكمبيوتر ، كان kilobyte دائمًا 1024 لأسباب فنية إلى أن تم تغييره في عام 1999. - James


الأجوبة:


يعود لبعض الوقت ، وهو كذلك مفصل هنا. يبدو أنك تستطيع إلقاء اللوم على IBM ، إذا كان أي شخص.

بعد أن فكرت في الأمر أكثر من ذلك ، أود أن ألوم الأمريكان ككل ، لاستخفافهم الصارخ لل Système international d'unités : P


63
2018-05-23 11:05



من السهل دائما إلقاء اللوم على الأمريكيين. - Notinlist
@ نوتينست: إنها مزحة. - paradroid
هذا يذكرني مشهد ملحمي من فيلم لب الخيال ... واحد مع سؤال حول "النظام المتري". :-) - Pierre Watelet
من السهل دائماً إلقاء اللوم على الأمريكيين. هذا هو السبب في أننا نفعل ذلك كثيرا. هذا وحقيقة أن من المرح. - Singletoned
إن دخول عام 1961 هناك مثير للاهتمام ، من حيث أنه يذكر "65 كيلو" - كونه الترتيب الأول من حيث الحجم الذي يمكن أن يظهر اختلافًا واضحًا بين "k = 1024" و "k = 1000 ، تقريبًا" ، فإنه ينزل بوضوح للأخير. في عام 1964 ، من ناحية أخرى ، يستخدم الجميع المعاني الثنائية. - Random832


كل الحوسبة كانت منخفضة المستوى في البداية. وعند البرمجة منخفضة المستوى ، يصبح الرقم "1000" عديم الفائدة تمامًا ويحتاجون إلى بادئات لمبالغ أكبر حتى يعيدوا استخدام SI. الجميع يعرف ذلك في الميدان ، لم يكن هناك أي ارتباك. خدم جيدا لمدة 30 عاما أو من يدري.

ليس لأنهم أمريكيون لذا كانوا بحاجة لكسر SI بأي ثمن. :-)

لا يوجد مبرمج أعلمه ويقول kibibyte. يقولون كيلوبايت ويعني 1024 بايت. الخوارزميات مليئة بقدرات 2. حتى اليوم ، "1000" هو رقم عديم الفائدة بين المبرمجين.

قول كيبي وميبي مضحك للغاية ويلفت الانتباه من الموضوع. نحن نعطيها بسعادة إلى قطاعات الاتصالات السلكية واللاسلكية وتخزين القرص :-). وسأكتب kibibytes على واجهات المستخدم حيث قد يقرأها غير المبرمجين.


26
2018-05-23 15:09



إنها أكثر تسلية عندما تقول عندما نتحدث عن البتات - "mibibit" - James
أعتقد أن من المفترض أن يكون kib ، وما إلى ذلك ، و kilobinarybyte ، وغيرها ، وليس kibibyte. - Lie Ryan
Lie Ryan ، باستخدام بادئات مثل "kilobinarybyte" كان الاقتراح الذي فشل في نهاية المطاف ، وكان الاختصارات المختلفة من kibibyte فعلت على أي حال. نرى en.wikipedia.org/wiki/Binary_prefix - Ben Lee
بالطبع ، من المقبول تماما أن نقول "kilobinarybyte" وهو في الواقع أكثر شفافية وأقل سذاجة من kibibyte ، ولكن هذا الاستخدام لا يقره IEC. - Ben Lee
لذلك سيكون من الإنصاف أن تنطق كم كم كيلو مترات؟ - JustJeff


فمن الصحيح ومن المنطقي للأشخاص التقنيين استخدام 1024 = 1K في كثير من الحالات.

ﺑﺎﻟﻧﺳﺑﺔ ﻟﻟﻣﺳﺗﺧدﻣﯾن اﻟﻧﮭﺎﺋﯾﯾن ، ﻣن اﻷﻓﺿل ﻋﺎدةً أن ﻧﻘول 1000 = 1k ﻷن ﺟﻣﯾﻊ اﻟﻧﺎس ﯾﺳﺗﺧدﻣون ﻓﻲ ﻧظﺎم اﻷرﻗﺎم 10.

المشكلة هي مكان رسم الخط. في بعض الأحيان لا ينجح الناس في التسويق أو الإعلان في "الترجمة" أو في تكييف البيانات الفنية واللغة للمستخدمين النهائيين.


8
2018-05-23 11:18



يجب أن يعلم الأشخاص الفنيون أن 1024 بايت هو Kibibyte (KiB) ، ولكن يعرف أن المصطلح ليس معروفة من قبل أشخاص غير تقنيين. - paradroid
من قال أنه صحيح؟ يعني كيلو 1000 لقرون ، لذا IMO هم ما كان يجب أن يستخدموها أبداً لـ 1024. - Bart van Heukelom
البايت ليس وحدة SI ؛ KB تعني "kilobel" (تم منحه ، وحدة لا تريد استخدامها مطلقًا إلا إذا كنت تصف الصوت ، إن وجد ، أنتجته Big Bang.) - Wooble
njd: يحتوي C64 على 65536 بايت من ذاكرة الوصول العشوائي. بالمقابل ، يتم تحديد حجم الذاكرة في kibiBytes ، ومعدلات نقل البيانات بالكيلوبت ، والتخزين الضخم في أي من الشركات المصنعة ، يفكر الآن في البايت. Harddrives استخدام T و G و M و k على الملصق ، تقارير Windows الحجم في Ti و Gi و Mi و ki. وتلك 1.44MB floppys؟ هذه ليست 1.44 ميغابايت أو 1.44MiB ، فهي 1.44 كيلو بيكليبايت. هذا هو 1440 كيلوبايت أو 1'474'560 بايت. - Third
و kiB ، الخ المتغيرات هي جديدة إلى حد ما ، على الرغم من. لا أعتقد أنها كانت قيد الاستخدام عندما نشأت هذه المشكلة ، وبالتأكيد - كنت تحت الانطباع بأنهم قد صنعوها بالضبط لحلها! - Shinrai


الشركات المصنعة لأشباه الموصلات اللوم (أنها توفر لنا الأجهزة الثنائية فقط) [1]

والأفضل من ذلك: إلقاء اللوم على المنطق نفسه (المنطق الثنائي هو فقط المنطق الأهم).

افضل حتى الآن: من يجب أن نلوم على النظام العشري البائس؟

لديها عيوب أكثر بكثير من النظام الثنائي. كان مقرها سعال على متوسط ​​عدد الأصابع في الأنواع البشرية سعال

OOOO ...

[1] أريد جهاز كمبيوتر بلدي الكم الثلاثي! الآن!


3
2018-05-23 14:56



أعتقد أنك ستجد أن متوسط ​​عدد الأصابع أقل من 10 </ pedant> - Rory Alsop
@ روري: ^ هذا كان ضحكة جيدة - Mehrdad
Rory: "أقل" </ pedant>. أو هو؟ شنق في دقيقة ، أنا aargh ... - outsideblasts


1024 لا ينبغي لومه أنه أمر جيد للغاية بالفعل ، لأنه السبب في أن الكمبيوتر (الرقمي) يمكن أن يكون بالسرعة والكفاءة كما هي اليوم. لأن الكمبيوتر يستخدم قيمة 2 فقط (0،1) فإنه يأخذ المصاعب والتعقيد (عدم دقة) نظام اللاهوت من المعادلة.

سيكون الأمر أكثر تعقيدًا إذا قلنا أن الكيلوبت هو 1000 بت ، لأن 2 إلى أي قوة 1000؟ حتى 1 كيلوبايت سيكون غير دقيق لأنه سيكون لديه نقاط عائمة أو تقريب.

لكنني ألوم التسويق إلى حد كبير لبيع 8 غيغابايت * وإضافة هذا في الطباعة الصغيرة

* 1 gigabyte is 1,000,000,000 bytes. 

من العار حقا ، وهذا هو نفس الشيء مع سرعة الاتصال ، سيقول ISP 1.5Mbps بدلا من أن تقول لك ~ 150 kiloBytes. انها مجرد مضللة للغاية


1
2018-05-23 15:51



عندما نقول كم هو حجم ملف 15682 بت ، أو مدى سرعة نقل مثل هذا الملف عبر شبكة ، فإن صلاحيات 2 لا تلعب أي دور. وهذا هو السياق الذي يوجد فيه معظم الارتباك. - Bart van Heukelom
في نهاية المطاف يتم تخزين الملف في صفحات الذاكرة ، والتي تتم محاذاتها إلى حدود الطاقة الثنائية. عند الإرسال عبر TCP ، يكون حجم الإطار الذي يتم إرسال الحزم فيه مضاعفات من صلاحيات اثنين. عندما يتم تخزين الملف على القرص الصلب ، يتم تخزينه في كتل من اثنين من القوى. أنا أفهم ما تقوله ، ولكن كيلوبايت = 1024 (أو على الأقل مضاعفات من القوى اثنين) متأصلة في الحوسبة أكثر من اللازم. - FryGuy
لكي نكون منصفين ، تستخدم الشبكات دائمًا الأجزاء الأساسية كقاعدة لها. - Synetech
أول 5.25 "قرص مرن يحمل 109،375 بايت وتم الإعلان عنه كـ" 109.4 Kbytes ". أعتقد أنهم فعلوا ذلك لأسباب تسويقية شريرة أيضًا. هل تعتقد أنه من المنطقي أكثر أن نكتبه كـ" 106.8 كيلوبايت "؟ يتم قياس جميع السرعات وسرعات المودم بشكل عشري لخداعنا؟ - endolith
Ibu: الفرق بين 1،000،000،000 بايت و 1 غيغابايت هو 0. في الواقع ، لماذا تقوم الشركات المصنعة المرنة بتضخيم أرقامها بشكل خبيث عندما يكون الفرق صغيرًا جدًا؟ لن يفعلوا. استخدموا 1000s لأنه منطقي ، واضح ، وصحيح ، ليس لأنهم جزء من مؤامرة للاحتيال على الزبائن. وقد تم قياس الشركات المصنعة لمحركات الأقراص الصلبة في 1000s منذ سنوات MB ، أيضا ، لنفس السبب. - endolith


عندما تضع في اعتبارك أن الأرقام الموجودة على أجهزة الكمبيوتر ثنائية ، و 2 ^ 10 هي 1024 ، فهذا أمر منطقي تمامًا. من الأسهل العمل مع 1024 بدلاً من 1000 ، لأنه يمكنك بسهولة تقسيم 1024 باستخدام عدد صحيح فقط من الرياضيات و التحول قليلا. القسمة على 1000 هي عملية أكثر كلفة ، والتي قد تحتاج إلى حساب عائم.

مثلا

bytes = 1 073 741 824
kilobytes = bytes >> 10 = 1 048 576
megabytes = kilobytes >> 10 = 1024
gigabytes = megabytes >> 10 = 1

0
2018-05-24 09:06



هل تعتقد بجدية أن وقت الحساب مناسب؟ لماذا لا تعالج أجهزة الكمبيوتر "km" كـ "1024 m" ، إذا كان من الصعب جدًا التحويل؟ - endolith
endolith نعم أعتقد ذلك ، على الأقل تاريخيا. في حين أنه قد لا يكاد يذكر اليوم ، في الأيام الأولى عندما كان كل دورة وحدة المعالجة المركزية في قسط ، سيكون من السهل على حساب سريع وسهل أن أعطى إجابة لائقة لشيء من هذا القبيل. خاصة إذا عرف الناس من خلال الاتفاقية أن 1KB تعني 1024 بايت. - Jo-Herman Haugholt