#include <iostream>
#include <limits>
using namespace std;
int main( ) {
cout << sizeof ( void * ) * 8 << " bits pointers\n " ;
const int ubits = sizeof ( unsigned ) * 8 ;
const int ullbits = sizeof ( unsigned long long ) * 8 ;
cout << ubits << " bits for an unsigned\n " ;
cout << ullbits << " bits for a long long \n " ;
unsigned utest= numeric_limits< unsigned > :: max ( ) ;
unsigned long long ulltest= numeric_limits< unsigned long long > :: max ( ) ;
cout << "unsigned " << utest << " rshift by " << ubits << " = "
<< ( utest>> ubits) << endl;
cout << "unsigned long long " << ulltest << " rshift by " << ullbits << "= "
<< ( ulltest>> ullbits) << endl;
return 0 ;
}
I2luY2x1ZGUgPGlvc3RyZWFtPgojaW5jbHVkZSA8bGltaXRzPgp1c2luZyBuYW1lc3BhY2Ugc3RkOwoKaW50IG1haW4oKSB7Cgljb3V0IDw8IHNpemVvZih2b2lkKikqOCA8PCAiIGJpdHMgcG9pbnRlcnNcbiI7CgkKCWNvbnN0IGludCB1Yml0cyA9ICBzaXplb2YgKHVuc2lnbmVkKSo4OyAKCWNvbnN0IGludCB1bGxiaXRzID0gIHNpemVvZiAodW5zaWduZWQgbG9uZyBsb25nKSo4OyAKCWNvdXQgPDwgdWJpdHMgPDwgIiBiaXRzIGZvciBhbiB1bnNpZ25lZFxuIjsgCgljb3V0IDw8IHVsbGJpdHMgPDwgIiBiaXRzIGZvciBhIGxvbmcgbG9uZyBcbiI7CgkKCXVuc2lnbmVkICB1dGVzdD1udW1lcmljX2xpbWl0czx1bnNpZ25lZD46Om1heCgpOyAKCXVuc2lnbmVkIGxvbmcgbG9uZyB1bGx0ZXN0PW51bWVyaWNfbGltaXRzPHVuc2lnbmVkIGxvbmcgbG9uZz46Om1heCgpOwoJCgljb3V0IDw8ICJ1bnNpZ25lZCAiPDx1dGVzdCA8PCAiIHJzaGlmdCBieSAiIDw8IHViaXRzIDw8ICIgPSAiCgkJPDwgKHV0ZXN0Pj51Yml0cyk8PGVuZGw7IAoJY291dCA8PCAidW5zaWduZWQgbG9uZyBsb25nICI8PHVsbHRlc3QgPDwgIiByc2hpZnQgYnkgIiA8PCB1bGxiaXRzIDw8ICI9ICIKCQk8PCAodWxsdGVzdD4+dWxsYml0cyk8PGVuZGw7IAoKCXJldHVybiAwOwp9