0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0 1 0
बदली जाने वाली क्षमता
किसी क्षमता को निर्माताओं की दशमलव इकाइयों (kB, MB, GB, TB), ऑपरेटिंग सिस्टम द्वारा दिखाई जाने वाली बाइनरी इकाइयों (KiB, MiB, GiB, TiB) और नेटवर्क में इस्तेमाल होने वाले बिट के बीच बदलें। मान डालिए और सभी समकक्ष मानों के साथ यह भी देखिए कि 1 TB की ड्राइव कंप्यूटर पर 931 GB क्यों दिखती है।
क्षमता वैसी ही जैसी डिब्बे पर या सिस्टम में लिखी है
TB वह है जो डिब्बे पर लिखा है; TiB वह जो सिस्टम गिनता है
आम क्षमताएँ
डिब्बा बनाम ऑपरेटिंग सिस्टम
1 TBनिर्माता क्या कहता है
931.3226 GB सिस्टम क्या दिखाता है 931.3226 GiB असली इकाइयों में
बाइट10,00,00,00,00,000
निर्माता 1,000 GB गिनता है, क्योंकि उसके लिए हर उपसर्ग 1000 बाइट का होता है। ऑपरेटिंग सिस्टम उन्हीं 10,00,00,00,00,000 बाइट को 1024 की घातों में मापता है और 931.3226 GB दिखाता है, जबकि असल में वे 931.3226 GiB हैं: स्क्रीन पर दिखने वाली संख्या 6.87 % छोटी हो जाती है, और एक भी बाइट कम नहीं होता।
समकक्ष मान
दशमलव (SI) · 1000 की घातें
Bबाइट10,00,00,00,00,000
kBकिलोबाइट1,00,00,00,000
MBमेगाबाइट10,00,000
GBगीगाबाइट1,000
TBटेराबाइट1
PBपेटाबाइट0.001
EBएक्साबाइट0.000001
बाइनरी (IEC) · 1024 की घातें
KiBकिबीबाइट97,65,62,500
MiBमेबीबाइट9,53,674.3164
GiBगिबीबाइट931.3226
TiBटेबीबाइट0.9095
PiBपेबीबाइट0.0008882
EiBएक्सबीबाइट0.0000008674
बिट · प्रति बाइट 8 बिट
bitबिट80,00,00,00,00,000
kbitकिलोबिट8,00,00,00,000
Mbitमेगाबिट80,00,000
Gbitगीगाबिट8,000
Tbitटेराबिट8
उपसर्ग दर उपसर्ग
उपसर्ग
दशमलव
बाइनरी
अंतर
किलो
1 kB1,000 B
1 KiB1,024 B
+2.4 %1 kB = 0.977 KiB
मेगा
1 MB10,00,000 B
1 MiB10,48,576 B
+4.86 %1 MB = 0.954 MiB
गीगा
1 GB1,00,00,00,000 B
1 GiB1,07,37,41,824 B
+7.37 %1 GB = 0.931 GiB
टेरा
1 TB10,00,00,00,00,000 B
1 TiB10,99,51,16,27,776 B
+9.95 %1 TB = 0.909 TiB
पेटा
1 PB1,00,00,00,00,00,00,000 B
1 PiB1,12,58,99,90,68,42,624 B
+12.59 %1 PB = 0.888 PiB
एक्सा
1 EB10,00,00,00,00,00,00,00,000 B
1 EiB11,52,92,15,04,60,68,47,000 B
+15.29 %1 EB = 0.867 EiB

बाइनरी उपसर्ग KiB, MiB, GiB और TiB को 1998 से IEC (मानक 80000-13) ने इसी अस्पष्टता से बचने के लिए मानकीकृत किया है। Linux और macOS इनका पालन करते हैं; Windows एक्सप्लोरर आज भी GiB को GB कहकर दिखाता है।

यह कैसे काम करता है

भंडारण इकाइयाँ दो अलग-अलग तरीकों से गिनी जाती हैं और दोनों सही हैं। दशमलव प्रणाली, जिसे ड्राइव निर्माता और अंतरराष्ट्रीय इकाई प्रणाली अपनाती है, हर उपसर्ग पर 1000 से गुणा करती है: एक kB यानी 1,000 बाइट, एक MB यानी दस लाख और एक TB यानी एक ट्रिलियन। बाइनरी प्रणाली, जो कंप्यूटरों के साथ जन्मी, 1024 से गुणा करती है, क्योंकि मेमोरी और बस दो की घातों में संबोधित होते हैं।

समस्या यह है कि दशकों तक दोनों प्रणालियों ने एक ही नाम इस्तेमाल किए। जब Windows एक्सप्लोरर "GB" लिखता है तो असल में वह गिबीबाइट गिन रहा होता है, यानी तीन बार 1024 से भाग दे रहा होता है। इसीलिए 1 TB की ड्राइव, जिसमें ठीक एक ट्रिलियन बाइट होते हैं, स्क्रीन पर 931.32 GB दिखती है: कुछ भी कम नहीं हुआ, बस गिनने का पैमाना बदल गया। 1998 से IEC 80000-13 मानक बाइनरी उपसर्ग KiB, MiB, GiB और TiB के ज़रिए यह अस्पष्टता दूर करता है।

यह टूल किसी क्षमता को एक साथ तीनों परिवारों में —दशमलव, बाइनरी और बिट— बदलता है और बाइट की सटीक संख्या, निर्माता द्वारा घोषित आँकड़ा तथा ऑपरेटिंग सिस्टम में दिखने वाला आँकड़ा, दोनों के बीच के प्रतिशत अंतर के साथ दिखाता है। सारी गणना ब्राउज़र में ही होती है।

उदाहरण

1 TB931,32 GBड्राइव में 1,000,000,000,000 बाइट हैं, ठीक उतने ही जितने डिब्बे पर लिखे हैं। सिस्टम उन्हें तीन बार 1024 से भाग देता है और 931.32 GB दिखाता है, जो सख़्त अर्थ में 931.32 GiB हैं। स्क्रीन पर लगभग 69 GB कम लगते हैं; ड्राइव में एक भी बाइट कम नहीं है।
1 GiB1073741824 Bएक गिबीबाइट 2^30 बाइट होता है। एक दशमलव गीगाबाइट 1,000,000,000 होता है, यानी बाइनरी वाला 7.37 % बड़ा है। यही वह अंतर है जो "एक गीगा" कहने पर आपके मतलब और हर प्रोग्राम की समझ को अलग करता है।
4 TB3,64 TiBउपसर्ग जितना बड़ा, दोनों प्रणालियाँ उतनी ही दूर: किलो पर 2.34 %, गीगा पर 6.87 % और टेरा पर 9.05 %। इसीलिए "ड्राइव छोटी निकली" वाला एहसास बड़ी ड्राइव में ही ज़्यादा होता है।
100 Mbit12,5 MBनेटवर्क लिंक बिट में और भंडारण बाइट में मापा जाता है। 100 Mbit/s का लिंक अधिकतम 12.5 MB प्रति सेकंड डाउनलोड करता है, क्योंकि हर बाइट में 8 बिट होते हैं। यही एक गणना इंटरनेट प्रदाताओं के ख़िलाफ़ आधी शिकायतों की वजह समझा देती है।

उपयोग के मामले

  • समझना कि 1 TB की ड्राइव या 64 GB का पेन ड्राइव पैकेट पर लिखी क्षमता से कम क्यों दिखाते हैं।
  • किसी API, लॉग या ls -l कमांड से मिले बाइट आकार को पढ़ने योग्य रूप में बदलना।
  • अलग-अलग पैमानों से मापने वाले दो टूल के बीच बैकअप या इमेज का आकार तुलना करना।
  • कोटा, वॉल्यूम या अपलोड सीमाएँ तय करना जब दस्तावेज़ MiB में और इंटरफ़ेस MB में बात करता है।
  • लिंक की गति Mbit/s से असली डाउनलोड गति MB/s में बदलना।
  • ग्राहक को आँकड़ों के साथ समझाना कि उसने जो ड्राइव खरीदी है उसमें वादे से कम जगह नहीं है।

अक्सर पूछे जाने वाले प्रश्न

मैंने 1 TB की ड्राइव खरीदी और 931 GB दिख रहा है, क्या मेरे साथ धोखा हुआ?

नहीं। ड्राइव में 1,000,000,000,000 बाइट हैं, और सभी निर्माताओं की दशमलव प्रणाली में 1 TB का यही अर्थ है। Windows उन्हीं बाइट को तीन बार 1024 से भाग देता है, 931.32 पाता है, और नतीजे पर "GiB" के बजाय "GB" का लेबल लगा देता है। यह लेबल की समस्या है, क्षमता की नहीं: सारे बाइट मौजूद हैं। असल में जो कम होता है, वह अलग बात है: फ़ॉर्मैट करते समय फ़ाइल सिस्टम जो जगह आरक्षित करता है।

GB और GiB में क्या अंतर है?

एक GB 1,000,000,000 बाइट (10^9) होता है और एक GiB 1,073,741,824 (2^30)। गिबीबाइट 7.37 % बड़ा है। यही अनुपात हर स्तर पर दोहराता है: kB बनाम KiB, MB बनाम MiB, TB बनाम TiB। बाइनरी संकेतों के बीच में एक "i" होता है और उन्हें किबी, मेबी, गिबी और टेबी कहा जाता है।

क्या सभी ऑपरेटिंग सिस्टम एक ही आँकड़ा दिखाते हैं?

नहीं, और यहीं भ्रम और बढ़ता है। Windows 1024 की घातों में गणना करता है पर लेबल GB और TB लगाता है, इसलिए 1 TB की ड्राइव को 931 GB दिखाता है। macOS 2009 से दशमलव में मापता है, इसलिए वही ड्राइव 1 TB दिखती है। Linux में यह टूल पर निर्भर करता है: df -h और ls -lh 1024 का इस्तेमाल करते हैं, df -H और ls -l --si 1000 का, और कई उपयोगिताएँ ज़रूरत पड़ने पर GiB लिखने लगी हैं। ड्राइव कभी नहीं बदली; बदला वह जो उसे माप रहा है।

RAM डिब्बे पर लिखे आँकड़े से क्यों मेल खाती है?

क्योंकि मेमोरी दो की घातों में बनाई और संबोधित की जाती है: "16 GB" के मॉड्यूल में असल में 16 GiB यानी 17,179,869,184 बाइट होते हैं। चूँकि ऑपरेटिंग सिस्टम भी बाइनरी में गिनता है, दोनों संख्याएँ मेल खा जाती हैं और किसी को कुछ पता नहीं चलता। ड्राइव के साथ उल्टा होता है: निर्माता दशमलव में गिनता है और सिस्टम बाइनरी में, इसलिए अंतर तुरंत दिखता है।

उपसर्ग के साथ अंतर कितना बढ़ता है?

हर स्तर पर 2.4 % जुड़ता जाता है। सिस्टम जो संख्या दिखाता है वह किलो पर 2.34 %, मेगा पर 4.63 %, गीगा पर 6.87 %, टेरा पर 9.05 %, पेटा पर 11.18 % और एक्सा पर 13.26 % छोटी होती है। इसीलिए कुछ kB की फ़ाइल में अंतर पता ही नहीं चलता, जबकि कई पेटाबाइट के ऐरे में यह सैकड़ों टेराबाइट की उम्मीद बन जाता है।

क्या Mbit और MB एक ही चीज़ हैं?

नहीं, अंतर आठ गुना का है। नेटवर्क लिंक बिट प्रति सेकंड में और भंडारण बाइट में मापा जाता है, और एक बाइट में 8 बिट होते हैं। 300 Mbit/s का लिंक अधिकतम 37.5 MB/s डाउनलोड देता है, प्रोटोकॉल हेडर घटाने से पहले ही। इसके अलावा नेटवर्क के उपसर्ग हमेशा दशमलव होते हैं: एक Mbit दस लाख बिट होता है, कभी 1,048,576 नहीं।

मेरे SSD में और भी कम जगह क्यों है?

दशमलव और बाइनरी के अंतर पर दो चीज़ें और जुड़ती हैं। पहली है ओवर-प्रोविज़निंग: कंट्रोलर फ़्लैश मेमोरी का एक हिस्सा अपने पास रखता है, जो इस्तेमाल नहीं हो सकता, ताकि घिसे हुए ब्लॉक बदले जा सकें और लिखाई तेज़ हो। दूसरी है फ़ाइल सिस्टम, जो फ़ॉर्मैट करते ही टेबल, जर्नल और मेटाडेटा में जगह लेता है। इनमें से कोई ख़राबी नहीं है: यह ड्राइव के चलने और टिकने की क़ीमत है।

तो दस्तावेज़ लिखते समय कौन-सी इकाई इस्तेमाल करनी चाहिए?

वही जो कोई संदेह न छोड़े। अगर मान 1024 की घातों से निकलता है तो MiB या GiB लिखिए; अगर 1000 की घातों से निकलता है तो MB या GB। किसी API या कॉन्फ़िगरेशन फ़ाइल में सबसे सुरक्षित यही है कि बाइट की संख्या सीधे दी जाए और इंटरफ़ेस तय करे कि उसे कैसे दिखाना है। यह कोड की एक पंक्ति घंटों की बहस बचा देती है कि एक ही फ़ाइल के लिए दो टूल अलग-अलग आँकड़े क्यों बताते हैं।