#include <stdio.h>
void printShort( short x) {
int i;
for ( i = 8 * sizeof ( short ) - 1 ; i >= 0 ; i-- ) {
printf ( "%c" , ( x
& ( 1 << i
) ) ? '1' : '0' ) ; }
}
void printLong( long x) {
int i;
for ( i = 8 * sizeof ( long ) - 1 ; i >= 0 ; i-- ) {
printf ( "%c" , ( x
& ( 1 << i
) ) ? '1' : '0' ) ; }
}
int main( void ) {
printf ( "unsigned short a, unsigned long b\n " ) ; unsigned short a = 077 ;
printShort( a) ;
a = ~a;
printShort( a) ;
unsigned long b = a;
printLong( b) ;
printf ( "unsigned short c, long d\n " ) ; unsigned short c = 077 ;
printShort( c) ;
c = ~c;
printShort( c) ;
long d = c;
printLong( d) ;
printf ( "short e, unsigned long f\n " ) ; short e = 077 ;
printShort( e) ;
e = ~e;
printShort( e) ;
unsigned long f = e;
printLong( f) ;
short g = 077 ;
printShort( g) ;
g = ~g;
printShort( g) ;
long h = g;
printLong( h) ;
return 0 ;
}
I2luY2x1ZGUgPHN0ZGlvLmg+Cgp2b2lkIHByaW50U2hvcnQoc2hvcnQgeCkgewoJaW50IGk7Cglmb3IoaSA9IDggKiBzaXplb2Yoc2hvcnQpIC0gMTsgaSA+PSAwOyBpLS0pIHsKCQlwcmludGYoIiVjIiwgKHggJiAoMSA8PCBpKSkgPyAnMScgOiAnMCcpOwoJCWlmKGkgJSA0ID09IDApIHByaW50ZigiICIpOwoJfQoJcHJpbnRmKCJcbiIpOwp9Cgp2b2lkIHByaW50TG9uZyhsb25nIHgpIHsKCWludCBpOwoJZm9yKGkgPSA4ICogc2l6ZW9mKGxvbmcpIC0gMTsgaSA+PSAwOyBpLS0pIHsKCQlwcmludGYoIiVjIiwgKHggJiAoMSA8PCBpKSkgPyAnMScgOiAnMCcpOwoJCWlmKGkgJSA0ID09IDApIHByaW50ZigiICIpOwoJfQoJcHJpbnRmKCJcbiIpOwp9CgppbnQgbWFpbih2b2lkKSB7CgkKCXByaW50ZigidW5zaWduZWQgc2hvcnQgYSwgdW5zaWduZWQgbG9uZyBiXG4iKTsKCXVuc2lnbmVkIHNob3J0IGEgPSAwNzc7CglwcmludGYoImEgPSAiKTsKCXByaW50U2hvcnQoYSk7CglhID0gfmE7CglwcmludGYoIn5hID0gIik7CglwcmludFNob3J0KGEpOwoJdW5zaWduZWQgbG9uZyBiID0gYTsKCXByaW50ZigiYiA9ICIpOwoJcHJpbnRMb25nKGIpOwoJcHJpbnRmKCJcbiIpOwoJCglwcmludGYoInVuc2lnbmVkIHNob3J0IGMsIGxvbmcgZFxuIik7Cgl1bnNpZ25lZCBzaG9ydCBjID0gMDc3OwoJcHJpbnRmKCJjID0gIik7CglwcmludFNob3J0KGMpOwoJYyA9IH5jOwoJcHJpbnRmKCJ+YyA9ICIpOwoJcHJpbnRTaG9ydChjKTsKCWxvbmcgZCA9IGM7CglwcmludGYoImQgPSAiKTsKCXByaW50TG9uZyhkKTsKCXByaW50ZigiXG4iKTsKCQoJcHJpbnRmKCJzaG9ydCBlLCB1bnNpZ25lZCBsb25nIGZcbiIpOwoJc2hvcnQgZSA9IDA3NzsKCXByaW50ZigiZSA9ICIpOwoJcHJpbnRTaG9ydChlKTsKCWUgPSB+ZTsKCXByaW50ZigifmUgPSAiKTsKCXByaW50U2hvcnQoZSk7Cgl1bnNpZ25lZCBsb25nIGYgPSBlOwoJcHJpbnRmKCJmID0gIik7CglwcmludExvbmcoZik7CglwcmludGYoIlxuIik7CgkKCXByaW50Zigic2hvcnQgZywgbG9uZyBoXG4iKTsKCXNob3J0IGcgPSAwNzc7CglwcmludGYoImcgPSAiKTsKCXByaW50U2hvcnQoZyk7CglnID0gfmc7CglwcmludGYoIn5nID0gIik7CglwcmludFNob3J0KGcpOwoJbG9uZyBoID0gZzsKCXByaW50ZigiaCA9ICIpOwoJcHJpbnRMb25nKGgpOwoJCglyZXR1cm4gMDsKfQo=