How to determining if an integer is a power of 2 in C#

2 Answers

0 votes
using System;
     
class Program
{
    static void print_bits(int n) { 
        for (int i = 7; i >= 0; i--)
            Console.Write((n >> i) & 1);
        Console.WriteLine();
    } 
    static void Main()
    {
        int n = 16; 
   
        print_bits(n);
        print_bits(n - 1);
        print_bits(n & (n - 1));
       
        bool b = (n & (n - 1)) == 0;
   
        Console.Write(b);
    }
}
 
     
/*
run:
     
00010000
00001111
00000000
True
  
*/

 



answered Mar 26, 2019 by avibootz
0 votes
using System;

class Program
{
    static bool is_power_of_two(int n) {
        return (n & (n - 1)) == 0;
    }
    
    static void Main() {
        int n = 16;
        
        if (is_power_of_two(n))
            Console.WriteLine("yes");
        else    
            Console.WriteLine("no");
            
        n = 15;
        
        if (is_power_of_two(n))
            Console.WriteLine("yes");
        else    
            Console.WriteLine("no");
            
    }
}



/*
run:

yes
no

*/

 



answered Aug 24, 2019 by avibootz

Related questions

1 answer 154 views
1 answer 194 views
1 answer 164 views
1 answer 156 views
1 answer 132 views
1 answer 176 views
1 answer 147 views
...