K = 1024 की उत्पत्ति क्या है? [बन्द है]


73

किलोबाइट में बाइट्स की संख्या में विसंगति क्यों होती है? कुछ स्थानों पर मैंने 1024 (2 10 ) की संख्या देखी है, जबकि अन्य में यह 1000 है (और अंतर एम, जी, टी, आदि के साथ बढ़ता जा रहा है)।

यह इस बारे में चर्चा नहीं है कि यह 1024 या 1000 होना चाहिए (हालांकि आप टिप्पणियों में इस पर चर्चा कर सकते हैं), लेकिन इस स्थिति के बारे में कहां और कब / और व्यापक स्थिति बनी।

जहां तक ​​मुझे पता है, लिनक्स और हार्डवेयर निर्माता 1024 वैरिएंट का उपयोग कभी नहीं करते हैं। कि, और सुन, मुझे लगता है कि MS-DOS ने इस संस्करण को सामान्य बना दिया है, लेकिन तथ्य क्या हैं?


23
एक प्रतिनिधित्व बाइनरी में है (2 ^ 10, या 1024) जबकि दूसरा दशमलव में है (10 ^ 3 या 1000) ...
ट्रेज़ॉयड

13
यदि आप विशिष्ट लोगों को दोष देना चाहते हैं, तो हार्ड ड्राइव निर्माताओं की ओर इंगित करें। यह उनके उपकरणों की तरह दिखता है जैसे कि उनके पास अधिक क्षमता है जब इसे दशमलव एमबीएस, जीबी, आदि में व्यक्त किया जाता है। उन्होंने हमेशा ऐसा किया है, मेरा मानना ​​है कि लेकिन यह हाल ही में तब तक नहीं हुआ है जब तक कि दशमलव और बाइनरी के बीच का अंतर पर्याप्त रूप से बढ़ गया हो महत्वपूर्ण बात।
LawrenceC

23
@ultrasawblade: आप HDD निर्माताओं को केवल उन समूहों में से एक होने के लिए दोष देना चाहते हैं जो शब्द का gigabyteसही उपयोग करते हैं ?
पैराडायराड

13
यह हमेशा मुझे एक समझ में आने वाली बात लगती थी कि 1K = 1024 किसी भी कंप्यूटर के साथ 20GB से पहले या तो ड्राइव आम हो गया। यह भी मोटे तौर पर उस समय के साथ मेल खाता है जब कई गैर-तकनीकी लोगों ने नियमित रूप से पीसी का उपयोग करना शुरू कर दिया था। कंप्यूटर साहित्य (तकनीकी और गैर-तकनीकी) की विशाल मात्रा 90 के दशक की शुरुआत से और "दशमलव" KB या "kibibytes" के बारे में कुछ भी उल्लेख नहीं करता है।
लॉरेंस

13
@ अपरॉड: गीगाबाइट मूल रूप से 1024 एमबी (और एमबी = 1024 केबी, आदि) का मतलब है। इसका मतलब 1000 के लिए रखा गया था क्योंकि HDD मैन्युफैक्चरर्स ने इसे गलत इस्तेमाल करने पर जोर दिया था। माना जाता है कि यह इस बात पर निर्भर करता है कि आप "सही" मानते हैं क्योंकि किलो का मतलब 1000 है, लेकिन कंप्यूटर विज्ञान के भीतर, किलोबाइट हमेशा तकनीकी कारणों से 1024 था जब तक कि इसे 1999 में बदल नहीं दिया गया।
जेम्स

जवाबों:


63

यह कुछ समय में वापस चला जाता है, और यहाँ विस्तृत है । ऐसा लगता है कि आप आईबीएम को दोष दे सकते हैं, यदि कोई हो।

इसके बारे में कुछ और सोचने के बाद, मैं अमेरिकियों को सिस्टेम अंतरराष्ट्रीय डी 'यूनीटेस : पी के लिए उनकी घोर उपेक्षा के लिए दोषी ठहराऊंगा।


31
अमेरिकियों को दोष देना हमेशा आसान होता है।
प्रातः

13
@Notinlist: यह एक मजाक है।
पैराडायरायड

5
यह मुझे पल्प फिक्शन फिल्म का एक महाकाव्य दृश्य याद दिलाता है ... "मैट्रिक सिस्टम" के बारे में एक प्रश्न। :-)
पियरे वेलेट

7
@Notinlist अमेरिकियों को हमेशा दोष देना आसान है। इसलिए हम इसे इतना करते हैं। यह और तथ्य यह है कि इसका मज़ा।
Singletoned

3
1961 में प्रवेश दिलचस्प है, इसमें "65k" का उल्लेख है - परिमाण का पहला क्रम होने के नाते जो "के = 1024" और "के = 1000, गोल" के बीच स्पष्ट अंतर दिखा सकता है, यह उत्तरार्द्ध के लिए स्पष्ट रूप से नीचे आता है। दूसरी ओर, 1964 में, हर कोई बाइनरी अर्थ का उपयोग कर रहा है।
रैंडम 832

26

शुरुआत में सभी कंप्यूटिंग निम्न स्तर की थी। और निम्न स्तर की प्रोग्रामिंग में "1000" संख्या पूरी तरह से बेकार है और उन्हें बड़ी मात्रा में उपसर्गों की आवश्यकता होती है, इसलिए उन्होंने SI वालों का पुन: उपयोग किया। हर कोई इसे क्षेत्र में जानता था, कोई भ्रम नहीं था। इसने 30 साल तक सेवा की या जो जानता है।

ऐसा नहीं है क्योंकि वे अमेरिकी थे इसलिए उन्हें हर कीमत पर एसआई को तोड़ने की जरूरत थी। :-)

कोई प्रोग्रामर नहीं है जो मैं जानता हूँ और kibibyte कहता है। वे किलोबाइट कहते हैं और उनका मतलब 1024 बाइट्स होता है। एल्गोरिदम 2 की शक्तियों से भरा हुआ है। आज भी, प्रोग्रामर के बीच "1000" वास्तव में बेकार संख्या है।

कहती है किबी और माबी बहुत मजाकिया हैं और विषय से ध्यान खींचते हैं। हम खुशी से इसे दूर संचार और डिस्क भंडारण क्षेत्रों :-) को दे देते हैं। और मैं यूजर इंटरफेस पर kibibytes लिखूंगा जहां गैर-प्रोग्रामर इसे पढ़ सकते हैं।


3
बिट्स के बारे में बात करते समय यह कहना भी मजेदार है - "मिबिबिट"
जेम्स

3
मुझे लगता है कि KiB, आदि को किलोबाइनेटबाइट का उच्चारण माना जाता है, न कि किबिबाइट।
रेयान

2
@ ली रयान, "किलोबाइनेटबाइट" जैसे उपसर्गों का उपयोग करते हुए एक प्रस्ताव था जो अंततः विफल हो गया, और वैसे भी kibibyte की तुलना में अलग-अलग संक्षिप्त रूप थे। देखें en.wikipedia.org/wiki/Binary_prefix
बेन ली

3
तो यह किमी को किडोमेलेमीटर के रूप में उच्चारण करना उचित होगा?
जस्टजेफ

3
1000 की संख्या "पूरी तरह से बेकार" नहीं है। 1950 के दशक से "k = 1000" का उपयोग कंप्यूटिंग में किया गया है। पहले कंप्यूटर वास्तव में दशमलव मशीन थे, बाइनरी नहीं। नेटवर्किंग की गति हमेशा 1000 के गुणक में मापी गई है। "यह 30 वर्षों तक अच्छी तरह से काम करती है"? वास्तव में? प्रोग्रामर कम से कम 43 वर्षों से "k = 1024" के बारे में शिकायत कर रहे हैं। en.wikipedia.org/wiki/Timeline_of_binary_prefixes
endolith

8

यह सही है और कई मामलों में तकनीकी लोगों के लिए 1024 = 1K का उपयोग करने के लिए समझ में आता है।

अंत उपयोगकर्ताओं के लिए आमतौर पर 1000 = 1k कहना बेहतर होता है क्योंकि सभी का उपयोग 10-आधारित संख्या प्रणाली के लिए किया जाता है।

समस्या यह है कि लाइन कहां खींचनी है। कभी-कभी विपणन या विज्ञापन करने वाले लोग वास्तव में "अनुवाद" या उपयोगकर्ताओं को समाप्त करने के लिए तकनीकी डेटा और भाषा को अपनाने में सफल नहीं होते हैं।


13
तकनीकी लोगों को पता होना चाहिए कि 1024 बाइट्स वास्तव में एक किबिबाइट (KiB) है, लेकिन जानते हैं कि यह शब्द गैर-तकनीकी लोगों द्वारा नहीं जाना जाता है।
पैराडायरायड

8
कौन कहता है कि यह सही है? किलो का मतलब सदियों से 1000 है, इसलिए IMO का उपयोग उन्हें 1024 के लिए कभी नहीं करना चाहिए।
बार्ट वैन ह्युकेलोम

20
बाइट एक एसआई इकाई नहीं है; KB "kilobel" का अर्थ है (दी, एक इकाई आप जब तक आप, ध्वनि का वर्णन कर रहे थे यदि कोई हो, बिग बैंग द्वारा उत्पादित उपयोग करना चाहते हैं कभी नहीं चाहते हैं।)
Wooble

10
@njd: C64 में 65536 बाइट्स रैम हैं। कन्वेंशन के द्वारा, मेमोरी का आकार किबीबाइट्स, किलोबाइट्स में डेटा ट्रांसफर रेट्स, और जो भी-ए-मैन्युफैक्चरर्स-थिंक-ऑफ-अब-बाइट्स में मास स्टोरेज है, में निर्दिष्ट किया गया है। हार्डड्राइव लेबल पर T, G, M और k का उपयोग करते हैं, विंडोज Ti, Gi, Mi और ki में आकार की रिपोर्ट करता है। और वो 1.44MB फ्लॉप? वे न तो 1.44MB और न ही 1.44MiB हैं, वे 1.44 किलोकिबिबाइट हैं। वह 1440kiB या 1'474'560 बाइट्स है।
तीसरा

5
कीबी, आदि वेरिएंट काफी नए हैं, हालांकि। मुझे नहीं लगता कि जब ये समस्या पैदा हुई थी, तब वे उपयोग में थे, निश्चित रूप से - मैं इस धारणा के तहत था कि वे इसे हल करने के लिए बिल्कुल बनाए गए थे!
शिनराई

3

दोष अर्धचालक निर्माताओं (वे हमें केवल बाइनरी हार्डवेयर प्रदान करते हैं) [1]

बेहतर अभी तक: दोष तर्क ही (द्विआधारी तर्क सिर्फ सबसे प्राथमिक तर्क है)।

अभी तक बेहतर: हम किसको मनहूस दशमलव प्रणाली के लिए दोषी ठहराएंगे ?

इसमें बाइनरी सिस्टम की तुलना में कहीं अधिक खामियां हैं। यह आधारित था खांसी मानव प्रजाति में उंगलियों की औसत संख्या पर खांसी

Oooo ...

[१] मुझे अपना क्वांटम त्रि-स्तरीय कंप्यूटर चाहिए !!! अभी!


29
मुझे लगता है कि आप पाएंगे कि उंगलियों की औसत संख्या 10 से कम है </ pedant>
रोरी अलसोप

1
@Rory: ^ है कि एक अच्छा हंसी था
Mehrdad

2
@ रोरी: "कम" </ पेडेंट>। या यह है? एक मिनट रुको, मैं aargh ...
outsideblasts

1

1024 को दोष नहीं दिया जाना चाहिए यह वास्तव में एक बहुत अच्छी बात है, क्योंकि यह कारण है कि कंप्यूटर (डिजिटल) आज के रूप में तेज और कुशल हो सकते हैं। क्योंकि कंप्यूटर केवल 2 मान (0,1) का उपयोग करता है क्योंकि यह समीकरण से बाहर एनोलॉग प्रणाली की कठिनाई और जटिलता (अशुद्धि) को बाहर निकालता है।

यह अधिक जटिल होगा यदि हमने कहा कि एक किलोबाइट 1000 बिट्स है क्योंकि 2 से 1000 तक क्या है? इसलिए 1 किलोबाइट भी गलत होगा क्योंकि इसमें फ्लोटिंग पॉइंट या एक सन्निकटन होगा।

लेकिन मैं मोटे तौर पर 8 गीगाबाइट * बेचने और छोटे प्रिंट में इसे जोड़ने के लिए विपणन को दोष देता हूं

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

यह वास्तव में एक शर्म की बात है, कनेक्शन की गति के साथ भी यही बात है, आपका आईएसपी आपको ~ 150 kgBytes बताने के बजाय 1.5Mbps कहेगा। यह बहुत ही भ्रामक है


3
यह कहते हुए कि 15682 बिट्स की एक फ़ाइल कितनी बड़ी है, या कितनी तेजी से इस तरह की फाइल को एक नेटवर्क पर स्थानांतरित किया जा सकता है, 2 की शक्तियां कोई भूमिका नहीं निभाती हैं। और यही वह संदर्भ है जहां सबसे अधिक भ्रम है।
बार्ट वैन ह्युकेलोम

2
अंततः फ़ाइल को मेमोरी पेजों में संग्रहित किया जाता है, जो बाइनरी पावर सीमाओं से जुड़े होते हैं। टीसीपी पर भेजते समय, खिड़की का आकार जिसमें पैकेट भेजे जाते हैं, दो की शक्तियों का गुणक होता है। जब फ़ाइल हार्ड ड्राइव पर संग्रहीत होती है, तो यह दो की शक्तियों के ब्लॉक में संग्रहीत होती है। मैं समझता हूं कि आप क्या कह रहे हैं, लेकिन किलोबाइट = 1024 (या दो की शक्तियों के कम से कम गुणकों) की गणना बहुत अधिक है।
फ्रायजी

1
निष्पक्ष होने के लिए, नेटवर्किंग ने हमेशा बिट्स को अपने आधार के रूप में उपयोग किया है।
सिंथेटिक्स

1
पहले 5.25 "फ्लॉपी ने 109,375 बाइट्स का आयोजन किया और" 109.4 किबिट्स "के रूप में विज्ञापित किया गया था। मुझे लगता है कि उन्होंने यह बुराई विपणन कारणों के लिए भी किया था, आपको लगता है कि इसे" 106.8 KB "और टेप ड्राइव और प्रोसेसर के रूप में लिखना अधिक तर्कसंगत होगा? गति और मॉडेम गति सभी दशमलव में हमें धोखा देने के लिए मापी जाती हैं? कृपया।
21

1
@ Ibu: 1,000,000,000 बाइट्स और 1GB के बीच का अंतर 0. है। वास्तव में, फ़्लॉपी निर्माता दुर्भावनापूर्ण रूप से अपनी संख्या बढ़ाते हैं, जब अंतर इतना छोटा होता है? वे नहीं करेंगे उन्होंने उच्च का उपयोग किया क्योंकि यह तार्किक, स्पष्ट और सही है, इसलिए नहीं कि वे ग्राहकों को धोखा देने की साजिश का हिस्सा हैं। हार्ड ड्राइव निर्माता एमबी की वर्षों से माप कर रहे हैं, उसी कारण से।
एंडोलिथ जूल

0

जब आप मानते हैं कि कंप्यूटर पर संख्याएं द्विआधारी हैं, और 2 ^ 10 1024 है, तो यह सही समझ में आता है। 1000 के बजाय 1024 के साथ काम करना बहुत आसान है, क्योंकि आप केवल पूर्णांक गणित और बिट शिफ्टिंग का उपयोग करके आसानी से 1024 से विभाजित कर सकते हैं । 1000 से विभाजित करना एक अधिक महंगा ऑपरेशन है, जिसे फ्लोटिंग पॉइंट गणित की आवश्यकता हो सकती है।

उदाहरण के लिए

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

आपको गंभीरता से लगता है कि गणना समय प्रासंगिक है? क्यों कंप्यूटर "किमी" को "1024 मीटर" के रूप में संसाधित नहीं करता है, फिर, अगर इसे बदलना इतना कठिन है?
एंडोलिथ

@endolith हाँ मुझे ऐसा लगता है, कम से कम ऐतिहासिक रूप से। हालांकि यह आज नगण्य हो सकता है, शुरुआती दिनों में जब प्रत्येक सीपीयू-चक्र प्रीमियम पर था, एक त्वरित और आसान गणना जिसने एक सभ्य जवाब दिया, वह इस तरह से कुछ के लिए बेहतर होगा। खासकर अगर लोग कन्वेंशन से जानते थे कि 1KB का मतलब 1024 बाइट्स है।
जो-हरमन हौलॉल्ट
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.