JavaScript Tutorials

تحويل عشري إلى ثنائي بكفاءة في جافا سكريبت

Spread the love

تحويل الأعداد العشرية إلى نظيراتها الثنائية مهمة شائعة في البرمجة. توفر جافا سكريبت طرقًا فعالة لإجراء هذا التحويل، وتستعرض هذه المقالة طريقتين رئيسيتين.

جدول المحتويات

التحويل الثنائي اليدوي في جافا سكريبت

إن فهم الخوارزمية الأساسية يعزز مهاراتك في البرمجة. يوضح هذا القسم دالة مخصصة لتحويل عدد عشري إلى تمثيله الثنائي. تقوم الخوارزمية بتقسيم العدد بشكل متكرر على 2، وتسجيل الباقي لبناء السلسلة الثنائية.


function decimalToBinary(decimal) {
  if (decimal === 0) return "0"; 
  let binary = "";
  let temp = decimal;
  while (temp > 0) {
    binary = (temp % 2) + binary;
    temp = Math.floor(temp / 2);
  }
  return binary;
}

// أمثلة
console.log(decimalToBinary(10));   // ناتج: 1010
console.log(decimalToBinary(255));  // ناتج: 11111111
console.log(decimalToBinary(0));    // ناتج: 0

تتعامل الدالة مع حالة الرقم 0 وتقوم بتقسيم المدخل بشكل متكرر حتى يصبح خارج القسمة 0. يتم إضافة كل باقي (0 أو 1) إلى بداية سلسلة binary، لبناء التمثيل الثنائي.

التحويل الثنائي الفعال باستخدام toString(2)

توفر طريقة toString(2) المدمجة في جافا سكريبت حلاً موجَزًا وفعالًا. تقوم هذه الطريقة بتحويل الرقم مباشرة إلى تمثيله الثنائي على شكل سلسلة.


function decimalToBinaryFast(decimal) {
  return decimal.toString(2);
}

// أمثلة
console.log(decimalToBinaryFast(10));   // ناتج: 1010
console.log(decimalToBinaryFast(255));  // ناتج: 11111111
console.log(decimalToBinaryFast(0));    // ناتج: 0

تأخذ طريقة toString(2) الأساس (الراديکس) كوسيطة. يحدد تعيينها إلى 2 تحويلًا ثنائيًا. يُعد هذا النهج أسرع بكثير وأكثر قابلية للقراءة من الطريقة اليدوية.

في الختام، في حين أن فهم عملية التحويل اليدوي قيّم للتعلم، إلا أن طريقة toString(2) المدمجة هي النهج المفضل لكفاءتها وقابلية قراءتها في معظم السيناريوهات العملية.

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *