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;
}
Discussion:
35 comments Page 3 of 4.
Sangita said:
1 decade ago
The output is ffffffdf. in indiabix.com because its runs on 32 bit linux environment. If we run in turbo it will give ffff.
It varies from platform to platform.
It varies from platform to platform.
Preeti said:
1 decade ago
Binary representation of 32bit - 0000000000100000.
1's - 1111111111011111.
So ffdf answer.
1's - 1111111111011111.
So ffdf answer.
S.Loguprasad said:
1 decade ago
~ act like Not. 32 in binary 0000 0000 0010 0000. Convert to Not So 1111 1111 1101 1111. Answer in hexadecimal ffdf.
Shruti said:
1 decade ago
How 32 is 0000 0000 0010 0000 ?
Sravanthi said:
1 decade ago
I don't understand the above procedure can anyone lease explain me in brief I mean how to write the values of 32 in binary form?
Mounika kursing said:
1 decade ago
32 16 8 4 2 1
2^5 2^4 2^3 2^2 2^1 2^0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
f f d f
We want 32, So keep 1 at 32 all other 0.
For negation replace 0's with 1's.
2^5 2^4 2^3 2^2 2^1 2^0
0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0
1 1 1 1 1 1 1 1 1 1 0 1 1 1 1 1
f f d f
We want 32, So keep 1 at 32 all other 0.
For negation replace 0's with 1's.
Vinod said:
1 decade ago
"%x" represents hexadecimal. How to print a number in binary form?
(1)
Shreya said:
10 years ago
32 = 2^5 = 2*2*2*2*2. So here 2^5 bit is 1 = 0000 0000 0010 0000.
But what they have asked is ~m so = 1111 1111 1101 1111.
But what they have asked is ~m so = 1111 1111 1101 1111.
Anirudh sharma said:
9 years ago
~ 32 = (32 + 1) *-1.
- 33
33 = 0000 0000 0010 0001.
2complemnt is:
1111 1111 1101 1111
f f d f
So the answer is f f d f.
- 33
33 = 0000 0000 0010 0001.
2complemnt is:
1111 1111 1101 1111
f f d f
So the answer is f f d f.
(7)
Selvameenal C said:
8 years ago
Yes, there is m=32=0000 0000 0010 0000;
~m(1s complement)= 1111 1111 1101 1111;
Thus answer : ffdf.
~m(1s complement)= 1111 1111 1101 1111;
Thus answer : ffdf.
(3)
Post your comments here:
Quick links
Quantitative Aptitude
Verbal (English)
Reasoning
Programming
Interview
Placement Papers