الفكرة الأساسية هي
عندما يكون n رقمًا زوجيًا، فإن a^n = a^n/2 × a^n/2
عندما يكون n رقمًا فرديًا، a^n = a^(n-1)/2 × a^(n-1)/2 × a
الرمز هو كما يلي:
انسخ رمز الكود كما يلي:
قوة الطبقة العامة {
public static void main(String[] args) {
System.out.println(power(5.5,5));
}
قوة مزدوجة ثابتة خاصة (قاعدة مزدوجة، الأس int) {
إذا (الأس == 0)
العودة 1؛
إذا (الأس == 1)
قاعدة العودة
نتيجة مزدوجة = الطاقة (القاعدة، الأس >> 1)؛
النتيجة *= النتيجة؛
إذا ((الأس & 0x1) == 1)
النتيجة *= القاعدة؛
نتيجة الإرجاع؛
}
}
يستخدم الكود أيضًا عملية التحول لليمين لاستبدال القسمة على 2، وعملية AND لاستبدال الباقي لتحديد التكافؤ، مما يجعل الخوارزمية أكثر كفاءة.