RicardasSim

uint64_t flags

Sep 13th, 2019
762
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 11.32 KB | None | 0 0
  1. //-std=c99 -Wall -Wextra -Wpedantic -Wshadow
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <stdint.h>
  5.  
  6. struct {
  7.     uint64_t flag_1;
  8.     uint64_t flag_2;
  9.     uint64_t flag_3;
  10.     uint64_t flag_4;
  11.     uint64_t flag_5;
  12.     uint64_t flag_6;
  13.     uint64_t flag_7;
  14.     uint64_t flag_8;
  15.     uint64_t flag_9;
  16.     uint64_t flag_10;
  17.     uint64_t flag_11;
  18.     uint64_t flag_12;
  19.     uint64_t flag_13;
  20.     uint64_t flag_14;
  21.     uint64_t flag_15;
  22.     uint64_t flag_16;
  23.     uint64_t flag_17;
  24.     uint64_t flag_18;
  25.     uint64_t flag_19;
  26.     uint64_t flag_20;
  27.     uint64_t flag_21;
  28.     uint64_t flag_22;
  29.     uint64_t flag_23;
  30.     uint64_t flag_24;
  31.     uint64_t flag_25;
  32.     uint64_t flag_26;
  33.     uint64_t flag_27;
  34.     uint64_t flag_28;
  35.     uint64_t flag_29;
  36.     uint64_t flag_30;
  37.     uint64_t flag_31;
  38.     uint64_t flag_32;
  39.     uint64_t flag_33;
  40.     uint64_t flag_34;
  41.     uint64_t flag_35;
  42.     uint64_t flag_36;
  43.     uint64_t flag_37;
  44.     uint64_t flag_38;
  45.     uint64_t flag_39;
  46.     uint64_t flag_40;
  47.     uint64_t flag_41;
  48.     uint64_t flag_42;
  49.     uint64_t flag_43;
  50.     uint64_t flag_44;
  51.     uint64_t flag_45;
  52.     uint64_t flag_46;
  53.     uint64_t flag_47;
  54.     uint64_t flag_48;
  55.     uint64_t flag_49;
  56.     uint64_t flag_50;
  57.     uint64_t flag_51;
  58.     uint64_t flag_52;
  59.     uint64_t flag_53;
  60.     uint64_t flag_54;
  61.     uint64_t flag_55;
  62.     uint64_t flag_56;
  63.     uint64_t flag_57;
  64.     uint64_t flag_58;
  65.     uint64_t flag_59;
  66.     uint64_t flag_60;
  67.     uint64_t flag_61;
  68.     uint64_t flag_62;
  69.     uint64_t flag_63;
  70.     uint64_t flag_64;
  71. } fS = { 0x1,0x2,0x4,0x8,
  72.          0x10,0x20,0x40,0x80,
  73.          0x100,0x200,0x400,0x800,
  74.          0x1000,0x2000,0x4000,0x8000,
  75.          0x10000,0x20000,0x40000,0x80000,
  76.          0x100000,0x200000,0x400000,0x800000,
  77.          0x1000000,0x2000000,0x4000000,0x8000000,
  78.          0x10000000,0x20000000,0x40000000,0x80000000,
  79.          0x100000000,0x200000000,0x400000000,0x800000000,
  80.          0x1000000000,0x2000000000,0x4000000000,0x8000000000,
  81.          0x10000000000,0x20000000000,0x40000000000,0x80000000000,
  82.          0x100000000000,0x200000000000,0x400000000000,0x800000000000,
  83.          0x1000000000000,0x2000000000000,0x4000000000000,0x8000000000000,
  84.          0x10000000000000,0x20000000000000,0x40000000000000,0x80000000000000,
  85.          0x100000000000000,0x200000000000000,0x400000000000000,0x800000000000000,
  86.          0x1000000000000000,0x2000000000000000,0x4000000000000000,0x8000000000000000,
  87.         };
  88.  
  89. void tstFlg(uint64_t val)
  90. {
  91.  
  92.     if (val & fS.flag_1) printf("1 ");
  93.     if (val & fS.flag_2) printf("2 ");
  94.     if (val & fS.flag_3) printf("3 ");
  95.     if (val & fS.flag_4) printf("4 ");
  96.     if (val & fS.flag_5) printf("5 ");
  97.     if (val & fS.flag_6) printf("6 ");
  98.     if (val & fS.flag_7) printf("7 ");
  99.     if (val & fS.flag_8) printf("8 ");
  100.     if (val & fS.flag_9) printf("9 ");
  101.     if (val & fS.flag_10) printf("10 ");
  102.     if (val & fS.flag_11) printf("11 ");
  103.     if (val & fS.flag_12) printf("12 ");
  104.     if (val & fS.flag_13) printf("13 ");
  105.     if (val & fS.flag_14) printf("14 ");
  106.     if (val & fS.flag_15) printf("15 ");
  107.     if (val & fS.flag_16) printf("16 ");
  108.     if (val & fS.flag_17) printf("17 ");
  109.     if (val & fS.flag_18) printf("18 ");
  110.     if (val & fS.flag_19) printf("19 ");
  111.     if (val & fS.flag_20) printf("20 ");
  112.     if (val & fS.flag_21) printf("21 ");
  113.     if (val & fS.flag_22) printf("22 ");
  114.     if (val & fS.flag_23) printf("23 ");
  115.     if (val & fS.flag_24) printf("24 ");
  116.     if (val & fS.flag_25) printf("25 ");
  117.     if (val & fS.flag_26) printf("26 ");
  118.     if (val & fS.flag_27) printf("27 ");
  119.     if (val & fS.flag_28) printf("28 ");
  120.     if (val & fS.flag_29) printf("29 ");
  121.     if (val & fS.flag_30) printf("30 ");
  122.     if (val & fS.flag_31) printf("31 ");
  123.     if (val & fS.flag_32) printf("32 ");
  124.     if (val & fS.flag_33) printf("33 ");
  125.     if (val & fS.flag_34) printf("34 ");
  126.     if (val & fS.flag_35) printf("35 ");
  127.     if (val & fS.flag_36) printf("36 ");
  128.     if (val & fS.flag_37) printf("37 ");
  129.     if (val & fS.flag_38) printf("38 ");
  130.     if (val & fS.flag_39) printf("39 ");
  131.     if (val & fS.flag_40) printf("40 ");
  132.     if (val & fS.flag_41) printf("41 ");
  133.     if (val & fS.flag_42) printf("42 ");
  134.     if (val & fS.flag_43) printf("43 ");
  135.     if (val & fS.flag_44) printf("44 ");
  136.     if (val & fS.flag_45) printf("45 ");
  137.     if (val & fS.flag_46) printf("46 ");
  138.     if (val & fS.flag_47) printf("47 ");
  139.     if (val & fS.flag_48) printf("48 ");
  140.     if (val & fS.flag_49) printf("49 ");
  141.     if (val & fS.flag_50) printf("50 ");
  142.     if (val & fS.flag_51) printf("51 ");
  143.     if (val & fS.flag_52) printf("52 ");
  144.     if (val & fS.flag_53) printf("53 ");
  145.     if (val & fS.flag_54) printf("54 ");
  146.     if (val & fS.flag_55) printf("55 ");
  147.     if (val & fS.flag_56) printf("56 ");
  148.     if (val & fS.flag_57) printf("57 ");
  149.     if (val & fS.flag_58) printf("58 ");
  150.     if (val & fS.flag_59) printf("59 ");
  151.     if (val & fS.flag_60) printf("60 ");
  152.     if (val & fS.flag_61) printf("61 ");
  153.     if (val & fS.flag_62) printf("62 ");
  154.     if (val & fS.flag_63) printf("63 ");
  155.     if (val & fS.flag_64) printf("64 ");
  156.  
  157.     if(!val) printf("none");
  158.  
  159.     printf("\n");
  160.  
  161. }
  162.  
  163.  
  164.  
  165.     uint64_t another_flag_1 = 0x1;
  166.     uint64_t another_flag_2 = 0x2;
  167.     uint64_t another_flag_3 = 0x4;
  168.     uint64_t another_flag_4 = 0x8;
  169.     uint64_t another_flag_5 = 0x10;
  170.     uint64_t another_flag_6 = 0x20;
  171.     uint64_t another_flag_7 = 0x40;
  172.     uint64_t another_flag_8 = 0x80;
  173.     uint64_t another_flag_9 = 0x100;
  174.     uint64_t another_flag_10 = 0x200;
  175.     uint64_t another_flag_11 = 0x400;
  176.     uint64_t another_flag_12 = 0x800;
  177.     uint64_t another_flag_13 = 0x1000;
  178.     uint64_t another_flag_14 = 0x2000;
  179.     uint64_t another_flag_15 = 0x4000;
  180.     uint64_t another_flag_16 = 0x8000;
  181.     uint64_t another_flag_17 = 0x10000;
  182.     uint64_t another_flag_18 = 0x20000;
  183.     uint64_t another_flag_19 = 0x40000;
  184.     uint64_t another_flag_20 = 0x80000;
  185.     uint64_t another_flag_21 = 0x100000;
  186.     uint64_t another_flag_22 = 0x200000;
  187.     uint64_t another_flag_23 = 0x400000;
  188.     uint64_t another_flag_24 = 0x800000;
  189.     uint64_t another_flag_25 = 0x1000000;
  190.     uint64_t another_flag_26 = 0x2000000;
  191.     uint64_t another_flag_27 = 0x4000000;
  192.     uint64_t another_flag_28 = 0x8000000;
  193.     uint64_t another_flag_29 = 0x10000000;
  194.     uint64_t another_flag_30 = 0x20000000;
  195.     uint64_t another_flag_31 = 0x40000000;
  196.     uint64_t another_flag_32 = 0x80000000;
  197.     uint64_t another_flag_33 = 0x100000000;
  198.     uint64_t another_flag_34 = 0x200000000;
  199.     uint64_t another_flag_35 = 0x400000000;
  200.     uint64_t another_flag_36 = 0x800000000;
  201.     uint64_t another_flag_37 = 0x1000000000;
  202.     uint64_t another_flag_38 = 0x2000000000;
  203.     uint64_t another_flag_39 = 0x4000000000;
  204.     uint64_t another_flag_40 = 0x8000000000;
  205.     uint64_t another_flag_41 = 0x10000000000;
  206.     uint64_t another_flag_42 = 0x20000000000;
  207.     uint64_t another_flag_43 = 0x40000000000;
  208.     uint64_t another_flag_44 = 0x80000000000;
  209.     uint64_t another_flag_45 = 0x100000000000;
  210.     uint64_t another_flag_46 = 0x200000000000;
  211.     uint64_t another_flag_47 = 0x400000000000;
  212.     uint64_t another_flag_48 = 0x800000000000;
  213.     uint64_t another_flag_49 = 0x1000000000000;
  214.     uint64_t another_flag_50 = 0x2000000000000;
  215.     uint64_t another_flag_51 = 0x4000000000000;
  216.     uint64_t another_flag_52 = 0x8000000000000;
  217.     uint64_t another_flag_53 = 0x10000000000000;
  218.     uint64_t another_flag_54 = 0x20000000000000;
  219.     uint64_t another_flag_55 = 0x40000000000000;
  220.     uint64_t another_flag_56 = 0x80000000000000;
  221.     uint64_t another_flag_57 = 0x100000000000000;
  222.     uint64_t another_flag_58 = 0x200000000000000;
  223.     uint64_t another_flag_59 = 0x400000000000000;
  224.     uint64_t another_flag_60 = 0x800000000000000;
  225.     uint64_t another_flag_61 = 0x1000000000000000;
  226.     uint64_t another_flag_62 = 0x2000000000000000;
  227.     uint64_t another_flag_63 = 0x4000000000000000;
  228.     uint64_t another_flag_64 = 0x8000000000000000;
  229.  
  230. void tstAnotherFlg(uint64_t val)
  231. {
  232.  
  233.     if (val & another_flag_1) printf("1 ");
  234.     if (val & another_flag_2) printf("2 ");
  235.     if (val & another_flag_3) printf("3 ");
  236.     if (val & another_flag_4) printf("4 ");
  237.     if (val & another_flag_5) printf("5 ");
  238.     if (val & another_flag_6) printf("6 ");
  239.     if (val & another_flag_7) printf("7 ");
  240.     if (val & another_flag_8) printf("8 ");
  241.     if (val & another_flag_9) printf("9 ");
  242.     if (val & another_flag_10) printf("10 ");
  243.     if (val & another_flag_11) printf("11 ");
  244.     if (val & another_flag_12) printf("12 ");
  245.     if (val & another_flag_13) printf("13 ");
  246.     if (val & another_flag_14) printf("14 ");
  247.     if (val & another_flag_15) printf("15 ");
  248.     if (val & another_flag_16) printf("16 ");
  249.     if (val & another_flag_17) printf("17 ");
  250.     if (val & another_flag_18) printf("18 ");
  251.     if (val & another_flag_19) printf("19 ");
  252.     if (val & another_flag_20) printf("20 ");
  253.     if (val & another_flag_21) printf("21 ");
  254.     if (val & another_flag_22) printf("22 ");
  255.     if (val & another_flag_23) printf("23 ");
  256.     if (val & another_flag_24) printf("24 ");
  257.     if (val & another_flag_25) printf("25 ");
  258.     if (val & another_flag_26) printf("26 ");
  259.     if (val & another_flag_27) printf("27 ");
  260.     if (val & another_flag_28) printf("28 ");
  261.     if (val & another_flag_29) printf("29 ");
  262.     if (val & another_flag_30) printf("30 ");
  263.     if (val & another_flag_31) printf("31 ");
  264.     if (val & another_flag_32) printf("32 ");
  265.     if (val & another_flag_33) printf("33 ");
  266.     if (val & another_flag_34) printf("34 ");
  267.     if (val & another_flag_35) printf("35 ");
  268.     if (val & another_flag_36) printf("36 ");
  269.     if (val & another_flag_37) printf("37 ");
  270.     if (val & another_flag_38) printf("38 ");
  271.     if (val & another_flag_39) printf("39 ");
  272.     if (val & another_flag_40) printf("40 ");
  273.     if (val & another_flag_41) printf("41 ");
  274.     if (val & another_flag_42) printf("42 ");
  275.     if (val & another_flag_43) printf("43 ");
  276.     if (val & another_flag_44) printf("44 ");
  277.     if (val & another_flag_45) printf("45 ");
  278.     if (val & another_flag_46) printf("46 ");
  279.     if (val & another_flag_47) printf("47 ");
  280.     if (val & another_flag_48) printf("48 ");
  281.     if (val & another_flag_49) printf("49 ");
  282.     if (val & another_flag_50) printf("50 ");
  283.     if (val & another_flag_51) printf("51 ");
  284.     if (val & another_flag_52) printf("52 ");
  285.     if (val & another_flag_53) printf("53 ");
  286.     if (val & another_flag_54) printf("54 ");
  287.     if (val & another_flag_55) printf("55 ");
  288.     if (val & another_flag_56) printf("56 ");
  289.     if (val & another_flag_57) printf("57 ");
  290.     if (val & another_flag_58) printf("58 ");
  291.     if (val & another_flag_59) printf("59 ");
  292.     if (val & another_flag_60) printf("60 ");
  293.     if (val & another_flag_61) printf("61 ");
  294.     if (val & another_flag_62) printf("62 ");
  295.     if (val & another_flag_63) printf("63 ");
  296.     if (val & another_flag_64) printf("64 ");
  297.  
  298.     if(!val) printf("none");
  299.  
  300.     printf("\n");
  301.  
  302. }
  303.  
  304. int main()
  305. {
  306.  
  307.     tstFlg(fS.flag_12|fS.flag_64);
  308.     tstFlg(fS.flag_1|fS.flag_18|fS.flag_21|fS.flag_40);
  309.     tstFlg(0);
  310.  
  311.     tstAnotherFlg(another_flag_12|another_flag_64);
  312.     tstAnotherFlg(another_flag_1|another_flag_18|another_flag_21|another_flag_40);
  313.     tstAnotherFlg(0);
  314.  
  315.     return 0;
  316. }
  317.  
  318. /*
  319. output:
  320.  
  321. 12 64
  322. 1 18 21 40
  323. none
  324. 12 64
  325. 1 18 21 40
  326. none
  327.  
  328.  
  329. */
Advertisement
Add Comment
Please, Sign In to add comment