// *********************************************************// 指定位置のビットのみ ON// 引数が範囲外の場合は 0 を返す// *********************************************************
int Integer::GetFlg( int a )
{
if ( a < 1 ) {
return 0;
}
if ( a > 32 ) {
return 0;
}
int ret;
ret = 1;
ret <<= ( a - 1 );
return( ret );
}
Integer a;
int i;
for( i = 1; i <= 32; i++ ) {
printf( "%08x\n", a.GetFlg( i ) );
}
このメソッドは、内部データと関係しません
内部変数の指定位置のビットが ON かどうかを調べる
// *********************************************************// 指定位置が ON ならば 1、OFF または指定範囲外で 0 を返す// *********************************************************
int Integer::IsSetFlg( int a )
{
if ( this->nData & this->GetFlg( a ) ) {
return 1;
}
else {
return 0;
}
}