//-std=c99 -Wall -Wextra -Wpedantic -Wshadow #include #include #include 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 */