GiB से B में बदलें

GiB
1073741824B

1 GiB = 1073741824 B

कोई मान लिखिए और गिबीबाइट से बाइट का हिसाब लिखते-लिखते साथ-साथ चलता रहेगा। गुणक ठीक 1073741824 है: 1 GiB पर इतने B. हिसाब आपके अपने डिवाइस पर होता है, और आपका लिखा हुआ अंक कहीं नहीं भेजा जाता।

  • कहाँ चलता है आपके ब्राउज़र में। आप जो संख्या लिखते हैं वह कभी किसी अनुरोध का हिस्सा नहीं बनती।
  • परिभाषा से ही सटीक 1 GiB ठीक 1073741824 B होता है — यह परिभाषा है, गोल किया हुआ गुणक नहीं।
  • लिखते ही जवाब न कोई बटन, न इंतज़ार। कोई स्क्रिप्ट चलने से पहले ही हल किया हुआ जवाब पेज पर मौजूद है।

गिबीबाइट से बाइट, असल इस्तेमाल में

  • 16 GiB is 17180000000 B

    — मध्यम श्रेणी के लैपटॉप की याददाश्त.

  • 931 GiB is 999700000000 B

    — एक टेराबाइट की डिस्क पर Windows जो दिखाता है.

  • 0.004657 GiB is 5000000 B

    — फ़ोन से खींची गई एक फ़ोटो.

  • 9.537e-7 GiB is 1024 B

    — एक किबीबाइट, और यहीं से गड़बड़ शुरू होती है.

गिबीबाइट से बाइट, एक नज़र में

यहाँ का हर आँकड़ा उसी परिभाषा से निकला है जो कैलकुलेटर इस्तेमाल करता है, इसलिए यह तालिका ऊपर वाले जवाब से अलग हो ही नहीं सकती।
GiBB
11073741824
22147483648
55368709120
1010737418240
5053687091200
100107374182400
500536870912000
10001073741824000

गिबीबाइट और बाइट

एक गिबीबाइट 1,073,741,824 बाइट की है, यानी गीगाबाइट से क़रीब 7% ज़्यादा। Windows गिबीबाइट में नापता है पर उन्हें «GB» कहता है — और «जगह कम क्यों दिख रही है» वाली पूरी पहेली इसी में है।

एक बाइट आठ बिट की होती है, और यह हमेशा तय नहीं था: शुरुआती कंप्यूटर छह, सात या नौ इस्तेमाल करते थे। आठ इसलिए जीता कि उसमें एक अक्षर बैठ जाता है और वह संख्या साफ़-साफ़ आधों में बँटती है।

एक गिबीबाइट बराबर ठीक 1,07,37,41,824 बाइट होता है

इस तरफ़ हिसाब गुणा का है, और वह भी पूरे अंक से: एक गिबीबाइट बराबर 1,07,37,41,824 बाइट, ठीक-ठीक। 1,07,37,41,824 कोई नाप नहीं है जो पास आ गई हो, यह परिभाषा है।

इसीलिए यह उन गिनी-चुनी गिनतियों में है जो दिमाग़ में करने लायक़ हैं, और नतीजा जाँचा भी जा सकता है: वापस भाग दीजिए और आपको ठीक उसी अंक पर लौटना होगा जहाँ से चले थे, बिना किसी बची हुई गुंजाइश के।

GiB बाइनरी वाली इकाई है

एक GiB अपने नीचे वाली इकाई का 1,024 गुना होता है; एक GB 1,000 गुना। इस पेज पर यह 1073741824 B और 1000000000 B का फ़र्क़ है — 7.4 % — और हर सीढ़ी पर यह फ़ासला बढ़ता जाता है। इसीलिए एक तस्वीर पर यह गोलाई भर है और हार्ड डिस्क पर दिखने लायक़ हिस्सा।

ग़ायब जगह का पूरा रहस्य इतना ही है, और इस पेज पर वह 7.4 % का बनता है। GB के नाम पर बिकी डिस्क में ठीक उतना ही होता है जितना डिब्बे पर लिखा है — दशमलव हिसाब से एक GB यानी 1000000000 B। विंडोज़ उसे 1,000 के बजाय 1,024 से बाँटता है और नाम दशमलव वाला ही रखता है, इसलिए उसका «एक GB» दरअसल 1073741824 B का निकलता है और डिस्क का अंक उतना ही छोटा दिखने लगता है। ऐपल का मैकओएस 10.6 से इन्हें दशमलव इकाइयों में ही गिनता है, और यही वजह है कि एक ही डिस्क दो मशीनों पर दो अलग आकार की दिख सकती है। न कुछ ग़ायब हुआ है, न कोई गोलाई हुई है — वही बाइट दो नामों से गिने जा रहे हैं।

कॉन्फ़िग फ़ील्ड जो कच्ची गिनती माँगता है

बहुत सी सेटिंग्स संख्या लेती हैं, इकाई नहीं, और दस्तावेज़ बाइट कहता है। ऑब्जेक्ट स्टोरेज पार्ट साइज़, किसी फ़्रेमवर्क में रिक्वेस्ट बॉडी सीमा — सब पूर्णांक चाहते हैं, और एक गिबिबाइट का पूर्णांक 1,073,741,824 है।

बाइनरी इकाई की ओर जाने की वजह यह है कि आसपास का तंत्र लगभग पक्का पहले से बाइनरी है। मेमोरी पेज, ब्लॉक साइज़ दो की घातें हैं, और 1,073,741,824 की सीमा उसके नीचे मौजूद अलोकेटर से मेल खाती है।

G प्रत्यय जो दशमलव दिखता है और है नहीं

ऑपरेशनल टूलिंग में परंपरा है कि नंगा k, m या g 1,024, 1,048,576 या 1,073,741,824 का मतलब रखे। JVM हीप फ़्लैग ऐसे ही काम करते हैं, तो -Xmx4g 4,294,967,296 बाइट आरक्षित करता है। Docker मेमोरी सीमाएँ भी वैसे ही करती हैं।

GNU coreutils एक क़दम आगे जाकर दोनों वर्तनी स्वीकार करते हैं: एक अक्षर बाइनरी है और B पर ख़त्म होने वाला दो-अक्षर रूप दशमलव है। dd bs=1G और dd bs=1GB शेल हिस्ट्री में लगभग एक जैसे दिखते हैं और हर ब्लॉक में सात प्रतिशत अलग होते हैं।

Kubernetes वह तंत्र है जो बताता है वह कौन-सा मतलब रखता है

Kubernetes में संसाधन मात्रा अपने सिंटैक्स में ही यह फ़र्क़ ले जाती है। Gi प्रत्यय बाइनरी है, तो 1Gi 1,073,741,824 बाइट है; बिना i वाला G दशमलव है, तो 1G 1,000,000,000 है।

यह स्पष्टता एक तेज़ धार भी रखती है। 4Gi की बजाय 4G लिखी मेमोरी सीमा 294,967,296 बाइट छोटी है — लगभग सात प्रतिशत का फ़र्क़ और समीक्षा में पूरी तरह अदृश्य।

नज़र में पहचानने लायक़ दो की घातें

कुछ बाइट गिनतियाँ त्रुटि संदेशों और सीमा फ़ील्ड में बार-बार दिखती हैं। 1,048,576 एक मेबिबाइट है, 1,073,741,824 एक गिबिबाइट है, 4,294,967,296 2³² है — 32-बिट पते की जगह का ठीक आकार।

इन आँकड़ों से एक कम भी उतना ही मायने रखता है। 2,147,483,647 सबसे बड़ा साइन किया 32-बिट पूर्णांक है, और उसमें रखी बाइट गिनती वहीं रुकती है। 1.9 GiB पर सफल और 2.1 पर नाकाम होने वाला अपलोड आम तौर पर इसी सीमा से टकराता है।

ग़लत आकार की सीमा कहाँ ज़ोर से नाकाम होती है, कहाँ नहीं

ज़ोर से नाकाम होना ख़ुशक़िस्मती वाला मामला है। मेमोरी सीमा पार करने वाला कंटेनर पहचानी जाने लायक़ स्थिति के साथ रोका जाता है। दोनों उस सेटिंग की ओर इशारा करते हैं जिसने उन्हें पैदा किया।

ख़ामोश नाकामी ज़्यादा भारी पड़ती है। कंटेनर की इजाज़त से सात प्रतिशत बड़ी हीप स्टार्टअप पर नाकाम नहीं होती — यह हफ़्तों बाद, भार के तहत नाकाम होती है, जब प्रक्रिया आख़िरकार उतनी मेमोरी इस्तेमाल करने की कोशिश करती है जितनी उसे बताई गई थी।

सिर्फ़ स्थिरांक नहीं, अंकगणित लिखिए

8589934592 पढ़ने वाली कॉन्फ़िग लाइन समीक्षक को मंशा के बारे में कुछ नहीं बताती। वही मूल्य 8 1024 1024 * 1024 लिखा हो, जहाँ प्रारूप अभिव्यक्ति की इजाज़त दे, तो एक नज़र में जाँचा जा सकता है।

जहाँ सिंटैक्स प्रत्यय की इजाज़त दे, फैलाए अंकों पर उसे तरजीह दीजिए। 1Gi में लगभग हर टाइपो सिंटैक्स त्रुटि है; 1073741824 में टाइपो एक ऐसा चलता कॉन्फ़िगरेशन है जिसकी सीमा दस गुना बड़ी या छोटी है।

गिबिबाइट से ऊपर की बाइनरी इकाइयाँ

शृंखला 1,024 के गुणकों में आगे बढ़ती है: टेबिबाइट 2⁴⁰ है, यानी 1,099,511,627,776 बाइट, और पेबिबाइट 2⁵⁰ है। दोनों नाप की बजाय सीमाओं में दिखते हैं — अधिकतम ऑब्जेक्ट आकार, अधिकतम फ़ाइल आकार।

व्यवहार में सबसे ज़्यादा मायने रखने वाली सीमा इन सबसे ऊपर बैठती है। अनसाइन्ड 64-बिट बाइट गिनती 16 EiB तक पहुँचती है, जिसे मौजूदा कोई तंत्र छूता नहीं।

सीमा असल में क्या बनी यह पुष्टि करना

जो भी लिखा गया हो, फ़ाइल पर भरोसा करने की बजाय तंत्र से असली मूल्य वापस पढ़िए। कंटेनर रनटाइम वह मेमोरी सीमा दिखाते हैं जो उन्होंने लागू की, JVM माँगने पर अपनी सुलझी हीप सेटिंग छापता है।

यह सबसे ज़्यादा तब मायने रखता है जब दो परतें अलग-अलग इकाई में सीमा लगाती हैं। गिबिबाइट में लिखी प्रोसेस सीमा और दशमलव गीगाबाइट में लिखी कंटेनर सीमा के बीच सात प्रतिशत का ऐसा फ़ासला छूट जाता है जिसकी किसी ने योजना नहीं बनाई थी।

GiB से B में बदलें: आम सवाल

1 GiB में कितने B होते हैं?

1 GiB बराबर 1073741824 B. यह मान सटीक है, गोल किया हुआ नहीं: गिबीबाइट और बाइट का अनुपात परिभाषा से ही तय है।

मैं जो लिखता हूँ वह कहीं भेजा जाता है?

नहीं। हिसाब आपके ब्राउज़र में होता है। आप कनेक्शन काटकर भी गिनती जारी रख सकते हैं, और जाँचने का सबसे आसान तरीक़ा भी यही है।

मेरी डिस्क उससे कम जगह क्यों दिखाती है जितनी उस पर लिखी है?

क्योंकि एक ही नाम की दो अलग इकाइयाँ चल रही हैं। बनाने वाले 1 GB = 1,00,00,00,000 बाइट गिनते हैं; Windows गिबीबाइट दिखाता है, यानी 1,07,37,41,824 बाइट, पर उन्हें «GB» कहता है। इसी से वही डिस्क सात प्रतिशत छोटी लगने लगती है। ग़ायब कुछ नहीं हुआ है।

उलटी तरफ़: बाइट से गिबीबाइट

एक B बराबर 9.31323e-10 GiB होता है। यह वही रिश्ता है, बस उलटा पढ़ा हुआ — इसलिए एक पेज से मिला नतीजा दूसरे पेज से गुज़ारने पर वहीं लौटना चाहिए जहाँ से चला था।

ये आँकड़े कहाँ से आए

इस पेज पर डेटा की इकाइयाँ के बारे में जो कहा गया है, वह जाँचा जा सकता है, और ये रहे वे दस्तावेज़ जो उसे तय करते हैं।

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

गुणक पेज के अंदर एक स्थिरांक है और गणित चार क्रियाओं का है, इसलिए कुछ कहीं भेजा नहीं जाता और भेजने की ज़रूरत भी नहीं। आप जो संख्या लिखते हैं वह ब्राउज़र से बाहर नहीं जाती — उसे ले जाने वाला कोई अनुरोध ही नहीं है।