C Programming - Bitwise Operators - Discussion

Discussion Forum : Bitwise Operators - Find Output of Program (Q.No. 5)
5.
What will be the output of the program?
#include<stdio.h>

int main()
{
    unsigned char i = 0x80;
    printf("%d\n", i<<1);
    return 0;
}
0
256
100
80
Answer: Option
Explanation:
No answer description is available. Let's discuss.
Discussion:
65 comments Page 5 of 7.

SRINIVAS said:   1 decade ago
Good.Nice Explanation Without having any doubts.Thank you

Rashmi said:   1 decade ago
Yeah, how can we take two bytes for a character.

Swati said:   1 decade ago
0x88 means 128 in decimal hence
0000 0000 1000 0000
now left shift 1 byte means
0000 0001 0000 0000=256

Divya S said:   1 decade ago
Nice explanation kasi. Thanks.

Swathi said:   1 decade ago
How to convert 0x88 int obinary can any one explain please ?

Apurva Nigam said:   1 decade ago
@Swathi:
to conevrt hex to binary u need to take each digit of hex value and write its binary equivalent.
For eg:-
if hex = 88 , its binary would be
bin = 1000 1000
since binary equivalent of 8(decimal) is 1000.

example2:-
if hex = AF , its binary equi is
bin = 1010 1111
as binary equi of 'A'(in decimal system its 10) 1010 and that of 'F'(in decimal its 15) is 1111

Hope this will help u.
Take care :)

Nikita said:   1 decade ago
char converted to int before <<

What happens if float or double is there?

Siva said:   1 decade ago
Nice explination apurva.

Sunil sharma,kaverinagar said:   1 decade ago
What do you mean by 0*80?

Kee said:   2 decades ago
Pleases give the step.


Post your comments here:

Your comments will be displayed after verification.