عندما لا يتم النظر في الأرقام السلبية ، في هذا التحليل ، يمكننا أن نرى أنه عندما تكون قيمة الإدخال أقل من 1 ، فإن هذا الرقم ليس بالتأكيد قوة عدد صحيح 2.
عندما تكون قيمة الإدخال أكبر من واحد ، يمكننا العثور على قاعدة. يتم التعبير عن قوة عدد صحيح 2 في ثنائي على النحو التالي:
2d = 10b ؛ 4D = 100B ؛ 8d = 1000b
الجزء الأول من الثنائي هو واحد ، والباقي صفر.
لذلك ، يمكننا أن نحكم على أنه عندما يتم تحويل قيمة الإدخال إلى ثنائية ، فإن البت الأول هو واحد والبت الأخرى هي 0 ، بحيث تكون قيمة الإدخال قوة عدد صحيح 2.
ومع ذلك ، فإن القيام بذلك أمر مرهق للغاية. لا يمكننا إلا أن نحكم على موقف "1" في الرقم الثنائي للمرة الأخيرة ، واستخدام السلسلة ، LastIndexof () ؛ طريقة.
ويمكننا أيضًا العثور على أن هذه القاعدة تنطبق أيضًا على الحالة التي يتم فيها إدخال الإدخال 1.
ثم جاء رمز موجز إلى حيز الوجود.
ispoweroftwo isPoweroftwo (int n) {string str = integer.tobinarystring (n) ؛ if (n <1) عودة خطأ ؛ آخر إذا (str.lastindexof ("1") == 0) return true ؛ elsereturn false ؛ }طريقة Java أعلاه لتحديد ما إذا كانت قوة عدد صحيح من 2 هي المحتوى بالكامل المشترك من قبل المحرر. آمل أن يعطيك مرجعًا وآمل أن تتمكن من دعم wulin.com أكثر.