Q:

C program to find the position of MSB bit of an unsigned integer number

0

C program to find the position of MSB bit of an unsigned integer number

All Answers

need an explanation for this answer? contact us directly to get an explanation for this answer

Read an integer number from the user, then find the position of MSB of an unsigned integer number using C program.

Program:

The source code to find the position of the MSB bit of an unsigned integer number is given below. The given program is compiled and executed using GCC compile on UBUNTU 18.04 OS successfully.

// C program to find the position of MSB bit of
// an unsigned integer number

#include <stdio.h>

int GetMsbPos(unsigned int num)
{
    int cnt = 0;

    while (num) {
        cnt++;
        num = num >> 1;
    }

    return cnt - 1;
}

int main()
{
    unsigned int num = 0;
    int pos = 0;

    printf("Enter Number: ");
    scanf("%d", &num);

    pos = GetMsbPos(num);
    printf("Position of MSB bit is: %d\n", pos);

    return 0;
}

Output:

RUN 1:
Enter Number: 127
Position of MSB bit is: 6

RUN 2:
Enter Number: 2
Position of MSB bit is: 1

RUN 3:
Enter Number: 65535
Position of MSB bit is: 15

Explanation:

In the above program, we created two functions GetMsbPos() and main().  The GetMsbPos() function return the position of MSB in an unsigned integer number.

In the main() function, we read an integer number from the user and then we found the position of MSB in an unsigned integer number using GetMsbPos() function and return the result to the main() function. After that, we printed the result on the console screen.

need an explanation for this answer? contact us directly to get an explanation for this answer

total answers (1)

C solved programs/examples on Bitwise Operators

This question belongs to these collections

Similar questions


need a help?


find thousands of online teachers now
C program to round off an integer number to the ne... >>
<< C program to find the next number power of 2...