//-std=c99 -Wall -Wextra -Wpedantic -Wshadow
#include <stdio.h>
#include <stdlib.h>
#include <stdint.h>
struct {
uint64_t flag_1;
uint64_t flag_2;
uint64_t flag_3;
uint64_t flag_4;
uint64_t flag_5;
uint64_t flag_6;
uint64_t flag_7;
uint64_t flag_8;
uint64_t flag_9;
uint64_t flag_10;
uint64_t flag_11;
uint64_t flag_12;
uint64_t flag_13;
uint64_t flag_14;
uint64_t flag_15;
uint64_t flag_16;
uint64_t flag_17;
uint64_t flag_18;
uint64_t flag_19;
uint64_t flag_20;
uint64_t flag_21;
uint64_t flag_22;
uint64_t flag_23;
uint64_t flag_24;
uint64_t flag_25;
uint64_t flag_26;
uint64_t flag_27;
uint64_t flag_28;
uint64_t flag_29;
uint64_t flag_30;
uint64_t flag_31;
uint64_t flag_32;
uint64_t flag_33;
uint64_t flag_34;
uint64_t flag_35;
uint64_t flag_36;
uint64_t flag_37;
uint64_t flag_38;
uint64_t flag_39;
uint64_t flag_40;
uint64_t flag_41;
uint64_t flag_42;
uint64_t flag_43;
uint64_t flag_44;
uint64_t flag_45;
uint64_t flag_46;
uint64_t flag_47;
uint64_t flag_48;
uint64_t flag_49;
uint64_t flag_50;
uint64_t flag_51;
uint64_t flag_52;
uint64_t flag_53;
uint64_t flag_54;
uint64_t flag_55;
uint64_t flag_56;
uint64_t flag_57;
uint64_t flag_58;
uint64_t flag_59;
uint64_t flag_60;
uint64_t flag_61;
uint64_t flag_62;
uint64_t flag_63;
uint64_t flag_64;
} fS = { 0x1,0x2,0x4,0x8,
0x10,0x20,0x40,0x80,
0x100,0x200,0x400,0x800,
0x1000,0x2000,0x4000,0x8000,
0x10000,0x20000,0x40000,0x80000,
0x100000,0x200000,0x400000,0x800000,
0x1000000,0x2000000,0x4000000,0x8000000,
0x10000000,0x20000000,0x40000000,0x80000000,
0x100000000,0x200000000,0x400000000,0x800000000,
0x1000000000,0x2000000000,0x4000000000,0x8000000000,
0x10000000000,0x20000000000,0x40000000000,0x80000000000,
0x100000000000,0x200000000000,0x400000000000,0x800000000000,
0x1000000000000,0x2000000000000,0x4000000000000,0x8000000000000,
0x10000000000000,0x20000000000000,0x40000000000000,0x80000000000000,
0x100000000000000,0x200000000000000,0x400000000000000,0x800000000000000,
0x1000000000000000,0x2000000000000000,0x4000000000000000,0x8000000000000000,
};
void tstFlg(uint64_t val)
{
if (val & fS.flag_1) printf("1 ");
if (val & fS.flag_2) printf("2 ");
if (val & fS.flag_3) printf("3 ");
if (val & fS.flag_4) printf("4 ");
if (val & fS.flag_5) printf("5 ");
if (val & fS.flag_6) printf("6 ");
if (val & fS.flag_7) printf("7 ");
if (val & fS.flag_8) printf("8 ");
if (val & fS.flag_9) printf("9 ");
if (val & fS.flag_10) printf("10 ");
if (val & fS.flag_11) printf("11 ");
if (val & fS.flag_12) printf("12 ");
if (val & fS.flag_13) printf("13 ");
if (val & fS.flag_14) printf("14 ");
if (val & fS.flag_15) printf("15 ");
if (val & fS.flag_16) printf("16 ");
if (val & fS.flag_17) printf("17 ");
if (val & fS.flag_18) printf("18 ");
if (val & fS.flag_19) printf("19 ");
if (val & fS.flag_20) printf("20 ");
if (val & fS.flag_21) printf("21 ");
if (val & fS.flag_22) printf("22 ");
if (val & fS.flag_23) printf("23 ");
if (val & fS.flag_24) printf("24 ");
if (val & fS.flag_25) printf("25 ");
if (val & fS.flag_26) printf("26 ");
if (val & fS.flag_27) printf("27 ");
if (val & fS.flag_28) printf("28 ");
if (val & fS.flag_29) printf("29 ");
if (val & fS.flag_30) printf("30 ");
if (val & fS.flag_31) printf("31 ");
if (val & fS.flag_32) printf("32 ");
if (val & fS.flag_33) printf("33 ");
if (val & fS.flag_34) printf("34 ");
if (val & fS.flag_35) printf("35 ");
if (val & fS.flag_36) printf("36 ");
if (val & fS.flag_37) printf("37 ");
if (val & fS.flag_38) printf("38 ");
if (val & fS.flag_39) printf("39 ");
if (val & fS.flag_40) printf("40 ");
if (val & fS.flag_41) printf("41 ");
if (val & fS.flag_42) printf("42 ");
if (val & fS.flag_43) printf("43 ");
if (val & fS.flag_44) printf("44 ");
if (val & fS.flag_45) printf("45 ");
if (val & fS.flag_46) printf("46 ");
if (val & fS.flag_47) printf("47 ");
if (val & fS.flag_48) printf("48 ");
if (val & fS.flag_49) printf("49 ");
if (val & fS.flag_50) printf("50 ");
if (val & fS.flag_51) printf("51 ");
if (val & fS.flag_52) printf("52 ");
if (val & fS.flag_53) printf("53 ");
if (val & fS.flag_54) printf("54 ");
if (val & fS.flag_55) printf("55 ");
if (val & fS.flag_56) printf("56 ");
if (val & fS.flag_57) printf("57 ");
if (val & fS.flag_58) printf("58 ");
if (val & fS.flag_59) printf("59 ");
if (val & fS.flag_60) printf("60 ");
if (val & fS.flag_61) printf("61 ");
if (val & fS.flag_62) printf("62 ");
if (val & fS.flag_63) printf("63 ");
if (val & fS.flag_64) printf("64 ");
if(!val) printf("none");
printf("\n");
}
uint64_t another_flag_1 = 0x1;
uint64_t another_flag_2 = 0x2;
uint64_t another_flag_3 = 0x4;
uint64_t another_flag_4 = 0x8;
uint64_t another_flag_5 = 0x10;
uint64_t another_flag_6 = 0x20;
uint64_t another_flag_7 = 0x40;
uint64_t another_flag_8 = 0x80;
uint64_t another_flag_9 = 0x100;
uint64_t another_flag_10 = 0x200;
uint64_t another_flag_11 = 0x400;
uint64_t another_flag_12 = 0x800;
uint64_t another_flag_13 = 0x1000;
uint64_t another_flag_14 = 0x2000;
uint64_t another_flag_15 = 0x4000;
uint64_t another_flag_16 = 0x8000;
uint64_t another_flag_17 = 0x10000;
uint64_t another_flag_18 = 0x20000;
uint64_t another_flag_19 = 0x40000;
uint64_t another_flag_20 = 0x80000;
uint64_t another_flag_21 = 0x100000;
uint64_t another_flag_22 = 0x200000;
uint64_t another_flag_23 = 0x400000;
uint64_t another_flag_24 = 0x800000;
uint64_t another_flag_25 = 0x1000000;
uint64_t another_flag_26 = 0x2000000;
uint64_t another_flag_27 = 0x4000000;
uint64_t another_flag_28 = 0x8000000;
uint64_t another_flag_29 = 0x10000000;
uint64_t another_flag_30 = 0x20000000;
uint64_t another_flag_31 = 0x40000000;
uint64_t another_flag_32 = 0x80000000;
uint64_t another_flag_33 = 0x100000000;
uint64_t another_flag_34 = 0x200000000;
uint64_t another_flag_35 = 0x400000000;
uint64_t another_flag_36 = 0x800000000;
uint64_t another_flag_37 = 0x1000000000;
uint64_t another_flag_38 = 0x2000000000;
uint64_t another_flag_39 = 0x4000000000;
uint64_t another_flag_40 = 0x8000000000;
uint64_t another_flag_41 = 0x10000000000;
uint64_t another_flag_42 = 0x20000000000;
uint64_t another_flag_43 = 0x40000000000;
uint64_t another_flag_44 = 0x80000000000;
uint64_t another_flag_45 = 0x100000000000;
uint64_t another_flag_46 = 0x200000000000;
uint64_t another_flag_47 = 0x400000000000;
uint64_t another_flag_48 = 0x800000000000;
uint64_t another_flag_49 = 0x1000000000000;
uint64_t another_flag_50 = 0x2000000000000;
uint64_t another_flag_51 = 0x4000000000000;
uint64_t another_flag_52 = 0x8000000000000;
uint64_t another_flag_53 = 0x10000000000000;
uint64_t another_flag_54 = 0x20000000000000;
uint64_t another_flag_55 = 0x40000000000000;
uint64_t another_flag_56 = 0x80000000000000;
uint64_t another_flag_57 = 0x100000000000000;
uint64_t another_flag_58 = 0x200000000000000;
uint64_t another_flag_59 = 0x400000000000000;
uint64_t another_flag_60 = 0x800000000000000;
uint64_t another_flag_61 = 0x1000000000000000;
uint64_t another_flag_62 = 0x2000000000000000;
uint64_t another_flag_63 = 0x4000000000000000;
uint64_t another_flag_64 = 0x8000000000000000;
void tstAnotherFlg(uint64_t val)
{
if (val & another_flag_1) printf("1 ");
if (val & another_flag_2) printf("2 ");
if (val & another_flag_3) printf("3 ");
if (val & another_flag_4) printf("4 ");
if (val & another_flag_5) printf("5 ");
if (val & another_flag_6) printf("6 ");
if (val & another_flag_7) printf("7 ");
if (val & another_flag_8) printf("8 ");
if (val & another_flag_9) printf("9 ");
if (val & another_flag_10) printf("10 ");
if (val & another_flag_11) printf("11 ");
if (val & another_flag_12) printf("12 ");
if (val & another_flag_13) printf("13 ");
if (val & another_flag_14) printf("14 ");
if (val & another_flag_15) printf("15 ");
if (val & another_flag_16) printf("16 ");
if (val & another_flag_17) printf("17 ");
if (val & another_flag_18) printf("18 ");
if (val & another_flag_19) printf("19 ");
if (val & another_flag_20) printf("20 ");
if (val & another_flag_21) printf("21 ");
if (val & another_flag_22) printf("22 ");
if (val & another_flag_23) printf("23 ");
if (val & another_flag_24) printf("24 ");
if (val & another_flag_25) printf("25 ");
if (val & another_flag_26) printf("26 ");
if (val & another_flag_27) printf("27 ");
if (val & another_flag_28) printf("28 ");
if (val & another_flag_29) printf("29 ");
if (val & another_flag_30) printf("30 ");
if (val & another_flag_31) printf("31 ");
if (val & another_flag_32) printf("32 ");
if (val & another_flag_33) printf("33 ");
if (val & another_flag_34) printf("34 ");
if (val & another_flag_35) printf("35 ");
if (val & another_flag_36) printf("36 ");
if (val & another_flag_37) printf("37 ");
if (val & another_flag_38) printf("38 ");
if (val & another_flag_39) printf("39 ");
if (val & another_flag_40) printf("40 ");
if (val & another_flag_41) printf("41 ");
if (val & another_flag_42) printf("42 ");
if (val & another_flag_43) printf("43 ");
if (val & another_flag_44) printf("44 ");
if (val & another_flag_45) printf("45 ");
if (val & another_flag_46) printf("46 ");
if (val & another_flag_47) printf("47 ");
if (val & another_flag_48) printf("48 ");
if (val & another_flag_49) printf("49 ");
if (val & another_flag_50) printf("50 ");
if (val & another_flag_51) printf("51 ");
if (val & another_flag_52) printf("52 ");
if (val & another_flag_53) printf("53 ");
if (val & another_flag_54) printf("54 ");
if (val & another_flag_55) printf("55 ");
if (val & another_flag_56) printf("56 ");
if (val & another_flag_57) printf("57 ");
if (val & another_flag_58) printf("58 ");
if (val & another_flag_59) printf("59 ");
if (val & another_flag_60) printf("60 ");
if (val & another_flag_61) printf("61 ");
if (val & another_flag_62) printf("62 ");
if (val & another_flag_63) printf("63 ");
if (val & another_flag_64) printf("64 ");
if(!val) printf("none");
printf("\n");
}
int main()
{
tstFlg(fS.flag_12|fS.flag_64);
tstFlg(fS.flag_1|fS.flag_18|fS.flag_21|fS.flag_40);
tstFlg(0);
tstAnotherFlg(another_flag_12|another_flag_64);
tstAnotherFlg(another_flag_1|another_flag_18|another_flag_21|another_flag_40);
tstAnotherFlg(0);
return 0;
}
/*
output:
12 64
1 18 21 40
none
12 64
1 18 21 40
none
*/
Comments