|
Example:
char a = 0b00000001; char b = a << 1; /* b = 00000010 */ char c = a << 2; /* c = 00000100 */ |
|
Example 1: unsigned type
unsigned char a = 0b00000100; unsigned char b = 0b10000100; char c; c = a >> 1; /* c = 00000010 */ c = b >> 1; /* c = 01000010 */ |
Example 2: signed type
char a = 0b00000100; char b = 0b10000100; char c; c = a >> 1; /* c = 00000010 */ c = b >> 1; /* c = 11000010 */ |
How to run the program:
|
Delete the unsigned keyword, re-compile it and re-run it !!!
|
int main( int argc, char* argv[] ) { char a = 1; /* a = 00000001 (= 1) */ a = a << 1; /* Now: a = 00000010 (= 2) */ printf( "a = %d\n", a ); a = a << 1; /* Now: a = 00000100 (= 4) */ printf( "a = %d\n", a ); a = a >> 1; /* Now: a = 00000010 (= 2) */ printf( "a = %d\n", a ); a = a >> 1; /* Now: a = 00000001 (= 1) */ printf( "a = %d\n", a ); a = a >> 1; /* Now: a = 00000001 (= 0) */ printf( "a = %d\n", a ); } |
How to run the program:
|