How to check if all bits of a number are set in C#

2 Answers

0 votes
using System;

class Program
{
    static void print_bits(int n) { 
        for (int i = 3; i >= 0; i--)
            Console.Write((n >> i) & 1);
        Console.WriteLine();
    } 
    static int is_all_bits_set(int n) { 
        return (n + 1) & n;
    } 
    static void Main()
    {
        int n = 15; 
       
        print_bits(n);
        print_bits(n + 1);
        print_bits((n + 1) & n);
        if (is_all_bits_set(n) == 0) {
            Console.WriteLine("Yes");
        }
        else  {
            Console.WriteLine("No");
        }
          
        n = 13;
      
        print_bits(n);
        print_bits(n + 1);
        print_bits((n + 1) & n);
        if (is_all_bits_set(n) == 0) {
            Console.WriteLine("Yes");
        }
        else  {
            Console.WriteLine("No");
        }
    }
}


/*
run:

1111
0000
0000
Yes
1101
1110
1100
No

*/

 



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

class Program
{
    static void print_bits(int n) { 
        for (int i = 3; i >= 0; i--)
            Console.Write((n >> i) & 1);
        Console.WriteLine();
    } 
    static int is_all_bits_set(int n) { 
         while (n > 0) { 
            if ((n & 1) == 0) 
                return 0; 
            n = n >> 1; 
        } 
        return 1;
    } 
    static void Main()
    {
        int n = 15; 
       
        print_bits(n);
        if (is_all_bits_set(n) == 1) {
            Console.WriteLine("Yes");
        }
        else  {
            Console.WriteLine("No");
        }
          
        n = 13;
      
        print_bits(n);
        if (is_all_bits_set(n) == 1) {
            Console.WriteLine("Yes");
        }
        else  {
            Console.WriteLine("No");
        }
    }
}


/*
run:

1111
Yes
1101
No

*/

 



answered Mar 7, 2019 by avibootz

Related questions

1 answer 122 views
1 answer 124 views
1 answer 212 views
2 answers 215 views
2 answers 222 views
2 answers 186 views
2 answers 181 views
...