|
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:
|