# include // // Program 12.3, Stephen Kochan, Programming in C. // int main ( void ); unsigned int shift ( unsigned int w, int n ); int main ( void ) { unsigned int w1 = 0177777u; unsigned int w2 = 0444u; printf ( "%o\t%o\n", shift ( w1, 5 ), w1 << 5 ); printf ( "%o\t%o\n", shift ( w1, -6 ), w1 >> 6 ); printf ( "%o\t%o\n", shift ( w1, 0 ), w2 >> 0 ); printf ( "%o\n", shift ( shift ( w1, -3 ), 3 ) ); return 0; } unsigned int shift ( unsigned int w, int n ) { unsigned int value; if ( 0 < n ) { value = ( w << n ); } else { value = ( w >> n ); } return value; }