TYPE_A | TYPE_B | TYPE_C | TYPE_D は 0x0f になります。
TYPE_A | TYPE_X は 0x11 です。
それぞれのスイッチ単位に処理を行なう為に関数側では以下のように処理します
void func( char Type )
{
if ( Type & TYPE_A ) {
printf( "A\n" );
}
if ( Type & TYPE_B ) {
printf( "B\n" );
}
if ( Type & TYPE_C ) {
printf( "C\n" );
}
if ( Type & TYPE_D ) {
printf( "D\n" );
}
if ( Type & TYPE_X ) {
printf( "X\n" );
}
if ( Type & TYPE_Y ) {
printf( "Y\n" );
}
if ( Type & TYPE_Z ) {
printf( "Z\n" );
}
if ( Type & TYPE_SP ) {
printf( "SP\n" );
}
}
|