Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C++

พลังของสี่ใน C++


สมมติว่าเรามีจำนวนเต็ม ต้องเช็คก่อนว่าเป็นกำลัง 4 หรือเปล่า

ดังนั้นหากอินพุตเท่ากับ 16 เอาต์พุตจะเป็น True

เพื่อแก้ปัญหานี้ เราจะทำตามขั้นตอนเหล่านี้ -

  • ถ้า num <0 แล้ว −

    • คืนค่าเท็จ

  • ถ้า num &(num - 1) ไม่ใช่ศูนย์ ดังนั้น −

    • คืนค่าเท็จ

  • ถ้า (num &01010101010101010101010101010101) เป็นศูนย์ −

    • คืนค่าเท็จ

  • คืนความจริง

ตัวอย่าง

ให้เราดูการใช้งานต่อไปนี้เพื่อความเข้าใจที่ดีขึ้น -

#include <bits/stdc++.h>
using namespace std;
class Solution {
public:
   bool isPowerOfFour(int num){
      if (num < 0)
         return false;
      if (num & (num - 1))
         return false;
      if (!(num & 0x55555555))
         return false;
      return true;
   }
};
main(){
   Solution ob;
   cout << (ob.isPowerOfFour(64));
}

อินพุต

64

ผลลัพธ์

1