C Programming - Bitwise Operators - Discussion

Discussion Forum : Bitwise Operators - Find Output of Program (Q.No. 2)
2.
If an unsigned int is 2 bytes wide then, What will be the output of the program ?
#include<stdio.h>

int main()
{
    unsigned int m = 32;
    printf("%x\n", ~m);
    return 0;
}
ffff
0000
ffdf
ddfd
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
35 comments Page 4 of 4.

Jagajjeevan said:   1 decade ago
~a=-(a+1)
~32=-(32+1)=-33

Binary of 33 : 0000 0000 0001 0001
1's of 33 : 1111 1111 1110 1110
2's of 33(-33): 1
1111 1111 1110 1111
f f d f
~32 is ffdf

Jayakrishana said:   1 decade ago
Thanks for you explanation Sudheer Kumar Raina.

Vignesh said:   1 decade ago
What does "f"&"d" mean and any thing others.

Chelsi said:   1 decade ago
How did you took m=32 as in binary: 0000 0000 0010 0000 please explain me?

Naveen said:   1 decade ago
But in the compiler provided by the indiabix.com.

The output is ffffffdf.

Can anyone explain why?


Post your comments here:

Your comments will be displayed after verification.