C++相談室 part40
■ このスレッドは過去ログ倉庫に格納されています
008078
2005/04/21(木) 01:10:19#define LSHIFT(data,N) ( ((N)<sizeof(data)*8) ? ( (data) << (N) ) : (0) )
#define RSHIFT(data,N) ( ((N)<sizeof(data)*8) ? ( (data) >> (N) ) : (0) )
で対処するか...
unsigned int uu2=1;
print( ( 1 << 31 ) );//1000000000000000000000
print( ( uu2 << 31 ) );//1000000000000000000000
print( ( 1 << 32 ) );//0000000000000000000000
print( ( uu2 << 32 ) );//0000000000000000000001
print( ( 1 << 33 ) );//0000000000000000000000
print( ( uu2 << 33 ) );//0000000000000000000010
print( ( 1 << 34 ) );//0000000000000000000000
print( ( uu2 << 34 ) );//0000000000000000000100
std::cout << "----------------------" << std::endl;
print( ( 1 >> 31 ) );//0000000000000000000000
print( ( uu2 >> 31 ) );//0000000000000000000000
print( ( 1 >> 32 ) );//0000000000000000000000
print( ( uu2 >> 32 ) );//0000000000000000000001
print( ( 1 >> 33 ) );//0000000000000000000000
print( ( uu2 >> 33 ) );//0000000000000000000000
print( ( 1 >> 34 ) );//0000000000000000000000
print( ( uu2 >> 34 ) );//0000000000000000000000
■ このスレッドは過去ログ倉庫に格納されています