كيفية تنسيق الأرقام بالترميز الهندسي
استخدم الترميز الهندسي لعرض الأرقام مع أسس تتوافق مع بادئات وحدات النظام الدولي
مقدمة
الترميز الهندسي هو طريقة لكتابة الأرقام باستخدام قوى العدد 10 حيث يكون الأس دائماً من مضاعفات 3. بدلاً من عرض 123,000,000 كـ 1.23×10⁸، يعرضه الترميز الهندسي كـ 123×10⁶. يتوافق هذا التوافق مع مضاعفات 3 مع بادئات النظام الدولي للوحدات (SI) مثل كيلو (10³) وميجا (10⁶) وجيجا (10⁹).
يظهر هذا الترميز بشكل متكرر في سياقات الهندسة والإلكترونيات والعلوم حيث تستخدم القياسات بادئات النظام الدولي. يصبح المكثف المقدر بـ 4.7×10⁻⁶ فاراد 4.7 ميكروفاراد. يصبح التردد 2.4×10⁹ هرتز 2.4 جيجاهرتز. يجعل الترميز الهندسي هذه التحويلات طبيعية لأن الأس يتوافق مباشرة مع بادئة النظام الدولي.
توفر JavaScript دعماً مدمجاً للترميز الهندسي من خلال واجهة برمجة التطبيقات Intl.NumberFormat. تتعامل هذه الواجهة مع التحويل تلقائياً وتكيف التنسيق مع اللغات والمناطق المختلفة.
ما هو الترميز الهندسي
يعبر الترميز الهندسي عن الأرقام كمعامل مضروب في قوة العدد 10، حيث يكون الأس دائماً قابلاً للقسمة على 3. يصبح الرقم 987,654,321 هو 987.654×10⁶ في الترميز الهندسي، ويُكتب كـ 987.654E6 في مخرجات JavaScript.
يظهر المعامل كرقم بين 1 و999.999، متبوعاً بـ E والأس. يرمز E إلى الأس ويشير إلى الضرب في 10 مرفوعاً لتلك القوة. تعني القيمة 987.654E6 أن 987.654 × 10⁶، والتي تساوي 987,654,000.
يختلف هذا التنسيق عن الترميز العشري القياسي، الذي يكتب جميع الأرقام مع فواصل مثل 987,654,321. كما يختلف عن الترميز المضغوط، الذي يستخدم أحرفاً مثل K وM وB لتمثيل المقادير. يُظهر الترميز الهندسي صراحةً قوة العدد 10 باستخدام ترميز الأس.
لماذا تستخدم الترميز الهندسي مضاعفات الثلاثة
يوجد القيد على مضاعفات 3 لأن بادئات وحدات النظام الدولي للوحدات تزيد أو تنقص بعوامل 1000. كل خطوة للأعلى في مقياس البادئات تضرب في 10³، وكل خطوة للأسفل تقسم على 10³.
لننظر إلى بادئات النظام الدولي للوحدات لقوى 10:
- 10³ = كيلو (k)
- 10⁶ = ميجا (M)
- 10⁹ = جيجا (G)
- 10¹² = تيرا (T)
- 10⁻³ = ميلي (m)
- 10⁻⁶ = ميكرو (μ)
- 10⁻⁹ = نانو (n)
- 10⁻¹² = بيكو (p)
عندما يستخدم رقم الترميز الهندسي بأس 6، فإنك تعلم أنه يتوافق مع بادئة ميجا. عندما يكون الأس -9، فإنك تعلم أنه يتوافق مع بادئة نانو. هذا التوافق المباشر يجعل الترميز الهندسي عمليًا للمجالات التقنية حيث تهيمن وحدات النظام الدولي.
بدون هذا القيد، ستحتاج إلى إجراء عمليات حسابية ذهنية للتحويل بين الترميز وبادئات النظام الدولي للوحدات. مع القيد، يكون التحويل فوريًا.
كيف يختلف الترميز الهندسي عن الترميز العلمي
يعبر الترميز العلمي أيضًا عن الأرقام باستخدام قوى 10، لكنه يستخدم أصغر أس ممكن. يصبح الرقم 987,654,321 هو 9.87654321×10⁸ في الترميز العلمي، ويُكتب كـ 9.87654321E8.
يضع الترميز العلمي دائمًا رقمًا واحدًا غير صفري بالضبط قبل الفاصلة العشرية. يسمح الترميز الهندسي بما يصل إلى ثلاثة أرقام قبل الفاصلة العشرية لضمان أن الأس قابل للقسمة على 3.
const scientificFormatter = new Intl.NumberFormat("en-US", {
notation: "scientific"
});
console.log(scientificFormatter.format(987654321));
// Output: "9.877E8"
const engineeringFormatter = new Intl.NumberFormat("en-US", {
notation: "engineering"
});
console.log(engineeringFormatter.format(987654321));
// Output: "987.654E6"
ينتج المنسق العلمي 9.877E8، مع وضع رقم واحد قبل الفاصلة العشرية. ينتج المنسق الهندسي 987.654E6، مع وضع ثلاثة أرقام قبل الفاصلة العشرية لتحقيق أس 6 بدلاً من 8.
كلا الترميزين يمثلان نفس القيمة، لكن الترميز الهندسي يعطي الأولوية للمحاذاة مع بادئات النظام الدولي للوحدات بدلاً من تقليل الأس.
استخدام الترميز الهندسي في JavaScript
يتحكم خيار notation في Intl.NumberFormat في كيفية تمثيل الأرقام. تعيينه إلى "engineering" يفعّل الترميز الهندسي.
const formatter = new Intl.NumberFormat("en-US", {
notation: "engineering"
});
console.log(formatter.format(1500));
// Output: "1.5E3"
console.log(formatter.format(1500000));
// Output: "1.5E6"
console.log(formatter.format(1500000000));
// Output: "1.5E9"
يختار المنسق تلقائياً الأس المناسب بناءً على حجم الرقم. الأس دائماً مضاعف للعدد 3، مما يضمن المحاذاة مع بادئات النظام الدولي للوحدات.
لا تحتاج إلى حساب الأس أو المعامل الصحيح. واجهة برمجة التطبيقات Intl تتعامل مع هذه الحسابات بناءً على قيمة الرقم.
كيف يقوم الترميز الهندسي بتنسيق الأحجام المختلفة
يطبق الترميز الهندسي على جميع المقاييس، من الأرقام الصغيرة جداً إلى الأرقام الكبيرة جداً. فهم كيفية ربط الأحجام المختلفة بالأسس يساعدك على توقع النتيجة.
const formatter = new Intl.NumberFormat("en-US", {
notation: "engineering"
});
console.log(formatter.format(0.0015));
// Output: "1.5E-3"
console.log(formatter.format(0.0000015));
// Output: "1.5E-6"
console.log(formatter.format(1.5));
// Output: "1.5E0"
console.log(formatter.format(1500));
// Output: "1.5E3"
console.log(formatter.format(1500000));
// Output: "1.5E6"
console.log(formatter.format(1500000000));
// Output: "1.5E9"
console.log(formatter.format(1500000000000));
// Output: "1.5E12"
الأرقام الصغيرة الأقل من 1 تستخدم أسساً سالبة. الرقم 0.0015 يصبح 1.5E-3، وهو ما يقابل بادئة ملي. الرقم 0.0000015 يصبح 1.5E-6، وهو ما يقابل بادئة ميكرو.
الأرقام حول 1 تستخدم أساً يساوي 0. الرقم 1.5 يصبح 1.5E0، وهو ما يساوي 1.5 × 10⁰ = 1.5 × 1 = 1.5.
الأرقام الكبيرة تستخدم أسساً موجبة. الرقم 1500 يصبح 1.5E3، وهو ما يقابل بادئة كيلو. يستمر النمط لبادئات ميجا وجيجا وتيرا.
التحكم في الأرقام العشرية في الترميز الهندسي
بشكل افتراضي، يتضمن المنسق عدة أرقام عشرية في المعامل. يمكنك التحكم في الدقة باستخدام خياري minimumFractionDigits و maximumFractionDigits.
const defaultFormatter = new Intl.NumberFormat("en-US", {
notation: "engineering"
});
console.log(defaultFormatter.format(1234567));
// Output: "1.235E6"
const noDecimalsFormatter = new Intl.NumberFormat("en-US", {
notation: "engineering",
maximumFractionDigits: 0
});
console.log(noDecimalsFormatter.format(1234567));
// Output: "1E6"
const twoDecimalsFormatter = new Intl.NumberFormat("en-US", {
notation: "engineering",
maximumFractionDigits: 2
});
console.log(twoDecimalsFormatter.format(1234567));
// Output: "1.23E6"
يحدد خيار maximumFractionDigits عدد الأرقام التي تظهر بعد الفاصلة العشرية في المعامل. تعيينه إلى 0 يزيل جميع الأرقام العشرية، ويعرض فقط الجزء الصحيح من المعامل.
يمكنك أيضًا فرض حد أدنى لعدد المنازل العشرية للحفاظ على تنسيق متسق عبر أرقام متعددة.
const formatter = new Intl.NumberFormat("en-US", {
notation: "engineering",
minimumFractionDigits: 2,
maximumFractionDigits: 2
});
console.log(formatter.format(1000));
// Output: "1.00E3"
console.log(formatter.format(1500));
// Output: "1.50E3"
console.log(formatter.format(1234567));
// Output: "1.23E6"
يضمن هذا عرض جميع الأرقام بمنزلتين عشريتين بالضبط، مما يساعد في الحفاظ على الاتساق البصري في الجداول والتقارير.
كيفية عمل الترميز الهندسي عبر اللغات المختلفة
يتكيف الترميز الهندسي مع اصطلاحات اللغات المختلفة للفواصل العشرية. يظل تنسيق الأس ثابتًا، لكن تنسيق المعامل يتغير بناءً على اللغة.
const enFormatter = new Intl.NumberFormat("en-US", {
notation: "engineering"
});
console.log(enFormatter.format(1234567));
// Output: "1.235E6"
const deFormatter = new Intl.NumberFormat("de-DE", {
notation: "engineering"
});
console.log(deFormatter.format(1234567));
// Output: "1,235E6"
const frFormatter = new Intl.NumberFormat("fr-FR", {
notation: "engineering"
});
console.log(frFormatter.format(1234567));
// Output: "1,235E6"
تستخدم الإنجليزية النقطة كفاصل عشري في المعامل. تستخدم الألمانية والفرنسية الفاصلة كفاصل عشري. يظل الحرف E والأس كما هما عبر جميع اللغات.
يُطبق هذا التوطين على جزء المعامل فقط. يتبع ترميز الأس باستخدام E وقيمة الأس الاصطلاحات العلمية الدولية ولا يتغير بين اللغات.
دمج الترميز الهندسي مع خيارات التنسيق الأخرى
يعمل الترميز الهندسي مع خيارات تنسيق الأرقام الأخرى. يمكنك التحكم في التقريب والأرقام المعنوية وعرض الإشارة أثناء استخدام الترميز الهندسي.
const formatter = new Intl.NumberFormat("en-US", {
notation: "engineering",
signDisplay: "always"
});
console.log(formatter.format(1500000));
// Output: "+1.5E6"
console.log(formatter.format(-1500000));
// Output: "-1.5E6"
يتحكم خيار signDisplay في ما إذا كانت الأرقام الموجبة تعرض علامة الزائد. يؤدي تعيينه إلى "always" إلى عرض الإشارة لكل من القيم الموجبة والسالبة.
يمكنك أيضًا التحكم في الأرقام المعنوية بدلاً من المنازل العشرية.
const formatter = new Intl.NumberFormat("en-US", {
notation: "engineering",
minimumSignificantDigits: 4,
maximumSignificantDigits: 4
});
console.log(formatter.format(1234567));
// Output: "1.235E6"
console.log(formatter.format(1567890));
// Output: "1.568E6"
يتحكم خيارا minimumSignificantDigits وmaximumSignificantDigits في العدد الإجمالي للأرقام المعنوية في المعامل، بدلاً من المنازل العشرية فقط.
متى يُستخدم الترميز الهندسي
يعمل الترميز الهندسي بشكل أفضل في السياقات التقنية حيث تستخدم القياسات بادئات وحدات النظام الدولي. تستخدم وثائق الإلكترونيات والأوراق العلمية والمواصفات الهندسية هذا الترميز بشكل شائع.
عند توثيق دائرة كهربائية تحتوي على مكثف بسعة 4.7×10⁻⁶ فاراد، يعرض الترميز الهندسي القيمة كـ 4.7E-6. يتعرف المهندسون على هذا فوراً على أنه 4.7 ميكروفاراد. عند عرض تردد 2.4×10⁹ هرتز، يُظهر الترميز الهندسي 2.4E9، والذي يتعرف عليه المهندسون على أنه 2.4 جيجاهرتز.
هذا الترميز أقل ملاءمة للجمهور العام الذي قد لا يفهم ترميز الأس. يجب أن تستخدم عدادات وسائل التواصل الاجتماعي وأسعار التجارة الإلكترونية ولوحات المعلومات الموجهة للمستهلكين الترميز القياسي أو الترميز المدمج بدلاً من ذلك.
لا تستخدم الترميز الهندسي عندما تكون الدقة حاسمة وتهم جميع الأرقام. تتطلب الحسابات المالية والمستندات القانونية وسجلات التدقيق تمثيلات عشرية دقيقة. يجب أن يُظهر رصيد البنك $1,234.56، وليس 1.23456E3.
ضع جمهورك في الاعتبار. يتوقع المهندسون والفيزيائيون والمحترفون التقنيون الترميز الهندسي ويفهمونه. يجد المستهلكون العاديون الترميز القياسي أو الترميز المدمج أسهل في القراءة.