محوّل أحجام البيانات
يحوّل الحجم إلى الوحدات العشرية والثنائية معًا — KB بجوار KiB و‑MB بجوار MiB — مع البتات وعدد البايتات الدقيق وما يعرضه كل نظام تشغيل.
1,000,000,000,000B1,000,000,000,000KB1,000,000,000MB1,000,000GB1,000TB1
KiB976,562,500MiB≈ 953,674.3164GiB≈ 931.3226
bit8,000,000,000,000Kb8,000,000,000Mb8,000,000Gb8,000Tb8
البايتات نفسها بخمس قراءات. ولا واحدة منها خاطئة؛ إنما تختلف في القاسم أو في التسمية أو فيهما معًا.
- مستكشف Windows — يقسم على 1024 ويُبقي التسميات العشرية
931 GB - Finder في macOS — يقسم على 1000
1 TB - ls -lh و‑du -h — تقسم على 1024
932G - ls --si و‑du --si — تقسم على 1000
1.0T - صانعو الأقراص وذواكر USB — يقسمون على 1000
1 TB
ما الذي تفعله هذه الأداة
اكتب حجمًا بأي وحدة — 1 TB أو 1536 MiB أو 900 Mb أو مجرد عدد بايتات خام نسخته من قائمة ملفات — فيعود محوَّلًا إلى نظامَي الوحدات في آنٍ واحد، مع عدد البايتات الدقيق ومع الطريقة التي ستعرضه بها كل أداة على جهازك.
والنظامان معروضان جنبًا إلى جنب لا خلف مفتاح تبديل، لأن صعوبة أحجام البيانات كلها في أن كليهما مستعمل وكليهما يسمّي نفسه الاسم ذاته. والعدد وحده لا يخبرك أيهما أنتجه.
لماذا للكيلوبايت معنيان
تعنون الحواسيب الذاكرة بقوى الاثنين، فيكون 1024 عددًا مستديرًا طبيعيًا للآلة على نحو لن يكونه 1000 أبدًا. وقد استُعيرت كلمة «كيلو» مبكرًا للدلالة على 1024 لأنها كانت قريبة كفاية من ألف النظام الدولي، ولم يتوقع أحد أن يفترق الاثنان. وقد افترقا.
والخطأ صغير عند الطرف الأدنى ويتراكم عند كل درجة. فالكيلوبايت يختلف بنسبة 2.4%، والميغابايت بـ4.9%، والغيغابايت بـ7.4%، والتيرابايت بـ10%. وعند البيتابايت تبتعد الإجابتان 12.6%، وهذا لم يعد تفصيل تقريب:
KB 1,000 KiB 1,024 # فارق 2.4% MB 1,000,000 MiB 1,048,576 # 4.9% GB 1,000,000,000 GiB 1,073,741,824 # 7.4% TB 1,000,000,000,000 TiB 1,099,511,627,776 # 10.0%
وفي سنة 1998 منحت اللجنة الكهرتقنية الدولية قوى 1024 أسماء خاصة بها — كيبيبايت وميبيبايت وغيبيبايت، والرموز KiB و‑MiB و‑GiB — وذلك تحديدًا كي يمكن كتابة الالتباس وإزاحته. ولم تترسخ الأسماء في الاستعمال اليومي قط، أما الرموز فترسخت، وكل ما يحمل علامة KiB لا لبس فيه. أما كل ما يحمل KB فلا يزال ملتبسًا.
من يعدّ بأي طريقة
والانقسام ليس اعتباطيًا. فهو يقع تقريبًا على الخط الفاصل بين العتاد الذي يُعنوَن والعتاد الذي يُباع:
- الذاكرة العشوائية ثنائية دائمًا. فوحدة ذاكرة سعتها 16 غيغابايت هي 16 غيبيبايت، لأن الذاكرة تُعنوَن بصفوف وأعمدة ثنائية ولم يكن ممكنًا أن تكون عددًا عشريًا مستديرًا ولو حاولت.
- الأقراص عشرية دائمًا. فالصانع الذي يبيع قرصًا سعته 1 تيرابايت يعني 1,000,000,000,000 بايت، وهكذا منذ ما قبل أن يشتكي أحد بزمن طويل.
- Windows ثنائي لكنه يستعمل التسميات العشرية. فهو يقسم على 1024 ويكتب GB، ومن هنا يأتي معظم الالتباس الذي يعيشه الناس فعلًا.
- macOS عشري منذ Snow Leopard سنة 2009. فالقرص نفسه الذي يُظهر 931 غيغابايت على Windows يُظهر 1 تيرابايت على Mac، وليس في أيٍّ من الجهازين عطب.
- وأدوات سطر الأوامر في لينكس تعطيك الاثنين: ls -lh و‑du -h تقسم على 1024، والخيار --si في الأوامر نفسها يقسم على 1000.
- والشبكات عشرية دائمًا، وهي تعدّ البتات لا البايتات.
قرص التيرابايت الذي يظهر بسعة 931 غيغابايت
هذا أكثر سؤال يُطرح عن أحجام البيانات، والجواب أنه لم تنقص أي مساحة. فالقرص يحوي تمامًا ما قالته العلبة. غير أن Windows يقسم تلك البايتات على 1024 ثلاث مرات بدل 1000، ثم يطبع تسمية تقول خلاف ذلك.
1,000,000,000,000 bytes # ما باعه الصانع / 1024 = 976,562,500 KB # يقسم Windows مرة / 1024 = 953,674.32 MB # مرتين / 1024 = 931.32 GB # ثلاث مرات، ثم يسمّيه GB
فالقرص ليس أصغر مما أُعلن، ونظام التشغيل لا يكذب بشأن عدد البايتات. والشيء الخاطئ الوحيد هو التسمية: فما يسميه Windows 931 غيغابايت هو في الحقيقة 931 غيبيبايت، و931 غيبيبايت هي 1 تيرابايت. الصق أي حجم في هذه الأداة وسيُظهر العمودان هذه العلاقة مباشرة.
البتات والبايتات، وفارق الثمانية
البايت ثمانية بتات، والاثنان لا يتمايزان كتابةً إلا بحالة حرف واحد: فالحرف B الكبير يدل على البايتات، والحرف b الصغير يدل على البتات. و‑Mb و‑MB يختلفان بمقدار ثمانية أضعاف، وهذا أكثر من كافٍ ليصير الحساب بلا معنى.
وهذا يهم في سرعات الشبكة قبل غيرها، إذ تُذكر بالبتات في الثانية بينما تُذكر أحجام الملفات وتقدّم التنزيل بالبايتات. فاتصال 100 ميغابت/ثانية ينقل 12.5 ميغابايت/ثانية على أكثر تقدير، فيستغرق ملف سعته 1 غيغابايت نحو ثمانين ثانية لا العشر التي توحي بها الأرقام. لا شيء يخنق سرعتك؛ الوحدات لم تكن يومًا الوحدات نفسها.
والبتات معروضة هنا في النظام العشري وحده، وليس ذلك تبسيطًا. فمعدلات الشبكة معرَّفة بقوى العشرة، فالميغابت مليون بت في كل موضع يُستعمل فيه المصطلح. وتعرّف اللجنة الكهرتقنية الدولية وحدات بت ثنائية فعلًا، لكن لا شيء تقريبًا يستعملها، وعرضها كان سيدعو إلى تحويل لا يقصده أحد.
لماذا الأرقام هنا دقيقة
لا تحفظ أعداد JavaScript الصحيحةَ بدقة إلا حتى نحو تسعة كوادريليونات — 2^53. والإكسابايت هو 10^18، أي أبعد بكثير، فيبدأ محوّل مبني على الحساب العادي بفقدان أرقام في الموضع نفسه الذي تعيش فيه أسئلة التخزين الكبير، ويبلّغ عن عدد بايتات خاطئ بثقة في خاناته الأخيرة.
أما هنا فيستعمل كل شيء أعدادًا صحيحة بدقة غير محدودة. وهذا يشتري شيئًا أقل بداهة أيضًا: فلأن كل عامل داخل في الأمر قوةٌ للعشرة أو قوةٌ للاثنين، وكلتاهما تقسم قوةً ما للعشرة بلا باقٍ، ينتهي كل تحويل بين هذه الوحدات كسرًا عشريًا منتهيًا. فـ1 تيرابايت ليس نحو 931.32 غيبيبايت — بل هو 931.322574615478515625 غيبيبايت، بلا باقٍ. والصفوف هنا مقرَّبة للقراءة، وعدد البايتات فوقها هو الجواب كاملًا.
الأسئلة الشائعة
- هل الكيلوبايت 1000 بايت أم 1024 بايت؟
- كلاهما، بحسب من يعدّ. فالنظام الدولي وصانعو الأقراص يستعملون 1000؛ و‑Windows وأحجام الذاكرة تستعمل 1024. وقد سمّت اللجنة الكهرتقنية الدولية وحدات الـ1024 تسمية مستقلة — كيبيبايت وميبيبايت وغيبيبايت — وهو ما يزيل الالتباس، وإن بقيت التسميات القديمة في كل مكان. وهذه الأداة تعرض القراءتين معًا بدل أن تختار واحدة.
- لماذا يظهر قرصي ذو التيرابايت بسعة 931 غيغابايت فقط؟
- لم ينقص شيء. فقد باعك الصانع 1,000,000,000,000 بايت، عادًّا بقوى الألف. أما Windows فيقسم ذلك على 1024 ثلاث مرات، فيحصل على 931.32، ثم يسمّي الناتج غيغابايت. البايتات نفسها، وقاسم مختلف، وتسمية مضلّلة: فما يعرضه عليك هو في الحقيقة 931 غيبيبايت.
- ما الفرق بين MB و‑MiB؟
- الميغابايت 1,000,000 بايت والميبيبايت 1,048,576 بايت، فـ‑MiB أكبر بنحو 4.9%. و‑MiB لا لبس فيه بحكم تعريفه؛ أما MB فلا يخلو من اللبس إلا إذا عرفت أي عرف تتبعه الأداة التي طبعته.
- لماذا تنزيلي أبطأ من سرعة اتصالي؟
- غالبًا لأن الاثنين يُقاسان بوحدات مختلفة. فسرعات الاتصال تُذكر بالميغابت في الثانية والتنزيلات بالميغابايت في الثانية، وفي البايت ثمانية بتات. وخط 100 ميغابت/ثانية يبلغ على أكثر تقدير نحو 12.5 ميغابايت/ثانية.
- ماذا يعني فعلًا حدُّ رفع أو استضافة قدره 25 ميغابايت؟
- يعتمد على الخدمة، والافتراض الآمن هو العدد الأصغر. فإن طُبّق الحد بوصفه 25 × 1,000,000 بايت، رُفض ملف أقل بقليل من 25 ميبيبايت. وتحويل حجم ملفك إلى العمودين هنا يُظهر فورًا هل يجتاز القراءتين معًا.
- هل تتعامل مع الأحجام الكبيرة جدًا؟
- نعم. فالحساب يستعمل أعدادًا صحيحة بدقة غير محدودة، فتتحوّل الإكسابايتات والزيتابايتات واليوتابايتات بدقة بدل أن تفقد خاناتها الأخيرة كما تفعل أعداد الفاصلة العائمة العادية بعد 2^53.
- هل يُرسَل شيء مما أكتبه إلى خادوم؟
- لا. إنه حساب في متصفحك؛ ولا يُرفَع شيء ولا يُسجَّل، وهو يعمل بلا اتصال بالشبكة.