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

KiB
1024B

1 KiB = 1024 B

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

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

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

  • 512 KiB is 524300 B

    — आधी मेबीबाइट.

  • 4 KiB is 4096 B

    — लगभग हर सिस्टम पर याददाश्त का एक पन्ना.

  • 4883 KiB is 5000000 B

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

  • 1 KiB is 1024 B

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

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

यहाँ का हर आँकड़ा उसी परिभाषा से निकला है जो कैलकुलेटर इस्तेमाल करता है, इसलिए यह तालिका ऊपर वाले जवाब से अलग हो ही नहीं सकती।
KiBB
11024
22048
55120
1010240
5051200
100102400
500512000
10001024000

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

एक किबीबाइट ठीक 1,024 बाइट की है। यह नाम 1998 में इसलिए लाया गया कि «किलोबाइट» फिर से 1,000 का मतलब दे सके, हालाँकि चलन कभी पूरी तरह जमा नहीं।

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

एक किबीबाइट बराबर ठीक 1,024 बाइट होता है

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

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

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

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

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

एक किबिबाइट 1,024 बाइट है, और उसका लेबल बदलता रहता है

हिसाब सबसे छोटी बात है: 1,024 से गुणा कीजिए और बाइट गिनती सटीक है। यह पेज इसलिए लायक़ है क्योंकि स्रोत आँकड़ा आधा दर्जन अलग-अलग लेबल में आता है। Kernel इंटरफ़ेस kB छापते हैं और किबिबाइट का मतलब रखते हैं। k फ़्लैग वाले टूल किबिबाइट में रिपोर्ट करते हैं और कुछ नहीं कहते।

यह पाठक को गुणा से पहले पहचान का क़दम उठाने पर मजबूर करता है। भरोसेमंद जाँच है टूल, लेबल नहीं: Unix-जैसे सिस्टम पर memory या block इस्तेमाल बताने वाली कोई भी चीज़ 1,024 की इकाई में गिनती करती है जब तक साफ़ तौर पर SI इकाई न माँगी गई हो।

सारी block count एक जैसे block में नहीं गिनी जातीं

किसी फ़ाइल की सहेजी block count 512-बाइट इकाई में बताई जाती है, फ़ाइलसिस्टम के भीतर असल में जो भी allocate हो। तो एक 4,096-बाइट block वाली फ़ाइल आठ block बताती है। वही फ़ाइल du -k के तहत 4 बताती है, क्योंकि वह टूल किबिबाइट में गिनता है। दोनों आँकड़े सही हैं।

व्यावहारिक नियम है तुलना से पहले सब कुछ बाइट में बदलना। आठ 512-बाइट block और चार किबिबाइट दोनों 4,096 बाइट हैं, और यह सहमति तब तक अदृश्य है जब तक दोनों को उसी तरह बताया न जाए।

दिखने वाला आकार बनाम फ़ाइल जो जगह लेती है

शब्द "आकार" के पीछे दो अलग सवाल छुपे हैं। फ़ाइल की लंबाई वह बाइट गिनती है जो इसमें है; यह जो जगह घेरती है वह allocated block गिनती गुणा block आकार है। 100-बाइट कॉन्फ़िग फ़ाइल के लिए ये 100 बाइट और 4,096 बाइट हैं, चालीस गुना फ़र्क़।

यह फ़र्क़ दोनों दिशाओं में जाता है। Sparse फ़ाइल — जिसमें कभी allocate न हुए बिना-लिखे इलाक़े हों — अपने रखे block से कहीं बड़ी लंबाई बताती है, यही वजह है virtual disk image 40 GiB दिखा सकती है और 3 इस्तेमाल कर सकती है।

जो resource limit किबिबाइट में गिनी जाती हैं

Shell resource limit अपनी इकाई मिलाती हैं और यह मिलावट आउटपुट से साफ़ नहीं दिखती। Stack size limit और virtual memory limit किबिबाइट में हैं, तो 8192 पढ़ती stack limit 8,388,608 बाइट है। File size limit bash में डिफ़ॉल्ट रूप से 512-बाइट block में है।

इन्हें बदलने की वजह आम तौर पर यह है कि कुछ और बाइट में बताया जा रहा है। Memory error से फ़ेल हुई प्रोसेस अपनी कोशिश की गई allocation बाइट में बताती है; इसे किबिबाइट में बताई limit से मिलाना एक गुणा लेता है।

चार किबिबाइट वह आकार है जिसमें मशीन असल में काम करती है

एक निश्चित बारीकी से नीचे बाइट गिनती काम की संख्या नहीं रहती। Memory पन्नों में बँटी जाती है, और ज़्यादातर सिस्टम पर पन्ना 4,096 बाइट का होता है। फ़ाइलसिस्टम block में allocate करते हैं, और आम डिफ़ॉल्ट वही आँकड़ा है।

यही alignment वजह है buffer आकार, cache प्रविष्टियाँ और record लंबाई 4,096 के गुणज पर जमा होती हैं। 4,000 बाइट पढ़ना उसी पन्ने को छूता है जो 4,096 का और उतनी ही क़ीमत लेता है; 4,100-बाइट record दो block में फैलता है।

जब 2.4 प्रतिशत मायने रखने लायक़ है

इस पैमाने पर किलोबाइट और किबिबाइट के बीच फ़र्क़ 24 बाइट है, और ज़्यादातर मक़सद के लिए यह गोलाई में खो जाता है। यह मायने रखने लगता है जब गुणा हो। चार-KiB की दस लाख record 4,096,000,000 बाइट हैं, 4,000,000,000 नहीं, और दूसरे आँकड़े पर बनी क्षमता योजना 96 MB कम पड़ जाती है।

यही रिक्वेस्ट-दर-रिक्वेस्ट लेखा, quota गणना और किसी और चीज़ पर लागू होता है जहाँ छोटी इकाई बड़ी गिनती से गुणा होती है: फ़र्क़ बढ़ता नहीं, पर वह गिनती बढ़ती है जिससे गुणा होता है।

जब सामने की संख्या असल में किलोबाइट है

हर k, 1,024 नहीं है, और उल्टा मान लेना अपनी ही ग़लती है। Network throughput, transfer allowance, storage क्षमता और पैकेजिंग पर छपी कोई भी चीज़ दशमलव हैं, तो वहाँ किलोबाइट 1,000 बाइट है और 1,024 से गुणा करना नतीजा 2.4 प्रतिशत ज़्यादा बताता है।

दोनों को ज़्यादा सोचे बिना ढँकने वाला नियम: अगर संख्या यह बताती है मशीन भीतर क्या कर रही है, यह binary है; अगर यह बताती है क्या बेचा, ट्रांसफ़र या विज्ञापित हो रहा है, यह दशमलव है।

गुणा को उलटा जा सकने लायक़ रखना

बाइट गिनती किसी भी पर्याप्त चौड़े integer टाइप में सटीक रहती है, और 1,024 से गुणी किबिबाइट संख्या भी सटीक रहती है। मुसीबत तब शुरू होती है जब मान पहले ही दिखावे के लिए गोल किया जा चुका हो: 1.4 KiB छापने वाला टूल असली बाइट गिनती फेंक चुका है।

ज़्यादातर टूल माँगने पर कच्चे बाइट देते हैं, और वही आउटपुट किसी automated चीज़ को खिलाने लायक़ है। इंसान-पढ़ने-लायक़ फ़ॉर्मेटिंग आख़िरी पल का दिखावटी फ़ैसला है, और इसे डेटा मानना ही वजह है monitoring पाइपलाइन के आँकड़े बिना किसी वजह कुछ प्रतिशत भटक जाते हैं।

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

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

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

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

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

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

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

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

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

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

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

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

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