본문 바로가기

카테고리 없음

Bit연산

반응형
#include <stdio.h>
int main (void){
    int i,j ;
    int arr[] = {3,6,7,1,5,4};
    int n  = sizeof(arr)/sizeof(arr[0]);
 
    for ( i = 0; i < (1<<n); i++)
    {
        
        for (j = 0; j < n; j++)
        {
            int p = i & (1<<j);
            printf("[%d, %d, %d]", i, j, p);
            if ( p ) {
                printf(" -->%d  ", arr[j]);
            }

        }
        printf("\n");
        
       
    return 0;
}

 

[0, 0]
[1, 6] 3
[2, 6] 6
[3, 6] 3   6
[4, 6] 7
[5, 6] 3   7
[6, 6] 6   7
[7, 6] 3   6   7
[8, 6] 1
[9, 6] 3   1
[10, 6] 6   1
[11, 6] 3   6   1
[12, 6] 7   1
[13, 6] 3   7   1
[14, 6] 6   7   1
[15, 6] 3   6   7   1
[16, 6] 5
[17, 6] 3   5
[18, 6] 6   5
[19, 6] 3   6   5
[20, 6] 7   5
[21, 6] 3   7   5
[22, 6] 6   7   5
[23, 6] 3   6   7   5
[24, 6] 1   5
[25, 6] 3   1   5
[26, 6] 6   1   5
[27, 6] 3   6   1   5
[28, 6] 7   1   5
[29, 6] 3   7   1   5
[30, 6] 6   7   1   5
[31, 6] 3   6   7   1   5
[32, 6] 4
[33, 6] 3   4
[34, 6] 6   4
[35, 6] 3   6   4
[36, 6] 7   4
[37, 6] 3   7   4
[38, 6] 6   7   4
[39, 6] 3   6   7   4
[40, 6] 1   4
[41, 6] 3   1   4
[42, 6] 6   1   4
[43, 6] 3   6   1   4
[44, 6] 7   1   4
[45, 6] 3   7   1   4
[46, 6] 6   7   1   4
[47, 6] 3   6   7   1   4
[48, 6] 5   4
[49, 6] 3   5   4
[50, 6] 6   5   4
[51, 6] 3   6   5   4
[52, 6] 7   5   4
[53, 6] 3   7   5   4
[54, 6] 6   7   5   4
[55, 6] 3   6   7   5   4
[56, 6] 1   5   4
[57, 6] 3   1   5   4
[58, 6] 6   1   5   4
[59, 6] 3   6   1   5   4
[60, 6] 7   1   5   4
[61, 6] 3   7   1   5   4
[62, 6] 6   7   1   5   4
[63, 6] 3   6   7   1   5   4
 suminlim@sumin  ~/Downloads  gcc main.c
 suminlim@sumin  ~/Downloads  ./a.out
[0, 0, 0][0, 1, 0][0, 2, 0][0, 3, 0][0, 4, 0][0, 5, 0]
[1, 0, 1] 3  [1, 1, 0][1, 2, 0][1, 3, 0][1, 4, 0][1, 5, 0]
[2, 0, 0][2, 1, 2] 6  [2, 2, 0][2, 3, 0][2, 4, 0][2, 5, 0]
[3, 0, 1] 3  [3, 1, 2] 6  [3, 2, 0][3, 3, 0][3, 4, 0][3, 5, 0]
[4, 0, 0][4, 1, 0][4, 2, 4] 7  [4, 3, 0][4, 4, 0][4, 5, 0]
[5, 0, 1] 3  [5, 1, 0][5, 2, 4] 7  [5, 3, 0][5, 4, 0][5, 5, 0]
[6, 0, 0][6, 1, 2] 6  [6, 2, 4] 7  [6, 3, 0][6, 4, 0][6, 5, 0]
[7, 0, 1] 3  [7, 1, 2] 6  [7, 2, 4] 7  [7, 3, 0][7, 4, 0][7, 5, 0]
[8, 0, 0][8, 1, 0][8, 2, 0][8, 3, 8] 1  [8, 4, 0][8, 5, 0]
[9, 0, 1] 3  [9, 1, 0][9, 2, 0][9, 3, 8] 1  [9, 4, 0][9, 5, 0]
[10, 0, 0][10, 1, 2] 6  [10, 2, 0][10, 3, 8] 1  [10, 4, 0][10, 5, 0]
[11, 0, 1] 3  [11, 1, 2] 6  [11, 2, 0][11, 3, 8] 1  [11, 4, 0][11, 5, 0]
[12, 0, 0][12, 1, 0][12, 2, 4] 7  [12, 3, 8] 1  [12, 4, 0][12, 5, 0]
[13, 0, 1] 3  [13, 1, 0][13, 2, 4] 7  [13, 3, 8] 1  [13, 4, 0][13, 5, 0]
[14, 0, 0][14, 1, 2] 6  [14, 2, 4] 7  [14, 3, 8] 1  [14, 4, 0][14, 5, 0]
[15, 0, 1] 3  [15, 1, 2] 6  [15, 2, 4] 7  [15, 3, 8] 1  [15, 4, 0][15, 5, 0]
[16, 0, 0][16, 1, 0][16, 2, 0][16, 3, 0][16, 4, 16] 5  [16, 5, 0]
[17, 0, 1] 3  [17, 1, 0][17, 2, 0][17, 3, 0][17, 4, 16] 5  [17, 5, 0]
[18, 0, 0][18, 1, 2] 6  [18, 2, 0][18, 3, 0][18, 4, 16] 5  [18, 5, 0]
[19, 0, 1] 3  [19, 1, 2] 6  [19, 2, 0][19, 3, 0][19, 4, 16] 5  [19, 5, 0]
[20, 0, 0][20, 1, 0][20, 2, 4] 7  [20, 3, 0][20, 4, 16] 5  [20, 5, 0]
[21, 0, 1] 3  [21, 1, 0][21, 2, 4] 7  [21, 3, 0][21, 4, 16] 5  [21, 5, 0]
[22, 0, 0][22, 1, 2] 6  [22, 2, 4] 7  [22, 3, 0][22, 4, 16] 5  [22, 5, 0]
[23, 0, 1] 3  [23, 1, 2] 6  [23, 2, 4] 7  [23, 3, 0][23, 4, 16] 5  [23, 5, 0]
[24, 0, 0][24, 1, 0][24, 2, 0][24, 3, 8] 1  [24, 4, 16] 5  [24, 5, 0]
[25, 0, 1] 3  [25, 1, 0][25, 2, 0][25, 3, 8] 1  [25, 4, 16] 5  [25, 5, 0]
[26, 0, 0][26, 1, 2] 6  [26, 2, 0][26, 3, 8] 1  [26, 4, 16] 5  [26, 5, 0]
[27, 0, 1] 3  [27, 1, 2] 6  [27, 2, 0][27, 3, 8] 1  [27, 4, 16] 5  [27, 5, 0]
[28, 0, 0][28, 1, 0][28, 2, 4] 7  [28, 3, 8] 1  [28, 4, 16] 5  [28, 5, 0]
[29, 0, 1] 3  [29, 1, 0][29, 2, 4] 7  [29, 3, 8] 1  [29, 4, 16] 5  [29, 5, 0]
[30, 0, 0][30, 1, 2] 6  [30, 2, 4] 7  [30, 3, 8] 1  [30, 4, 16] 5  [30, 5, 0]
[31, 0, 1] 3  [31, 1, 2] 6  [31, 2, 4] 7  [31, 3, 8] 1  [31, 4, 16] 5  [31, 5, 0]
[32, 0, 0][32, 1, 0][32, 2, 0][32, 3, 0][32, 4, 0][32, 5, 32] 4
[33, 0, 1] 3  [33, 1, 0][33, 2, 0][33, 3, 0][33, 4, 0][33, 5, 32] 4
[34, 0, 0][34, 1, 2] 6  [34, 2, 0][34, 3, 0][34, 4, 0][34, 5, 32] 4
[35, 0, 1] 3  [35, 1, 2] 6  [35, 2, 0][35, 3, 0][35, 4, 0][35, 5, 32] 4
[36, 0, 0][36, 1, 0][36, 2, 4] 7  [36, 3, 0][36, 4, 0][36, 5, 32] 4
[37, 0, 1] 3  [37, 1, 0][37, 2, 4] 7  [37, 3, 0][37, 4, 0][37, 5, 32] 4
[38, 0, 0][38, 1, 2] 6  [38, 2, 4] 7  [38, 3, 0][38, 4, 0][38, 5, 32] 4
[39, 0, 1] 3  [39, 1, 2] 6  [39, 2, 4] 7  [39, 3, 0][39, 4, 0][39, 5, 32] 4
[40, 0, 0][40, 1, 0][40, 2, 0][40, 3, 8] 1  [40, 4, 0][40, 5, 32] 4
[41, 0, 1] 3  [41, 1, 0][41, 2, 0][41, 3, 8] 1  [41, 4, 0][41, 5, 32] 4
[42, 0, 0][42, 1, 2] 6  [42, 2, 0][42, 3, 8] 1  [42, 4, 0][42, 5, 32] 4
[43, 0, 1] 3  [43, 1, 2] 6  [43, 2, 0][43, 3, 8] 1  [43, 4, 0][43, 5, 32] 4
[44, 0, 0][44, 1, 0][44, 2, 4] 7  [44, 3, 8] 1  [44, 4, 0][44, 5, 32] 4
[45, 0, 1] 3  [45, 1, 0][45, 2, 4] 7  [45, 3, 8] 1  [45, 4, 0][45, 5, 32] 4
[46, 0, 0][46, 1, 2] 6  [46, 2, 4] 7  [46, 3, 8] 1  [46, 4, 0][46, 5, 32] 4
[47, 0, 1] 3  [47, 1, 2] 6  [47, 2, 4] 7  [47, 3, 8] 1  [47, 4, 0][47, 5, 32] 4
[48, 0, 0][48, 1, 0][48, 2, 0][48, 3, 0][48, 4, 16] 5  [48, 5, 32] 4
[49, 0, 1] 3  [49, 1, 0][49, 2, 0][49, 3, 0][49, 4, 16] 5  [49, 5, 32] 4
[50, 0, 0][50, 1, 2] 6  [50, 2, 0][50, 3, 0][50, 4, 16] 5  [50, 5, 32] 4
[51, 0, 1] 3  [51, 1, 2] 6  [51, 2, 0][51, 3, 0][51, 4, 16] 5  [51, 5, 32] 4
[52, 0, 0][52, 1, 0][52, 2, 4] 7  [52, 3, 0][52, 4, 16] 5  [52, 5, 32] 4
[53, 0, 1] 3  [53, 1, 0][53, 2, 4] 7  [53, 3, 0][53, 4, 16] 5  [53, 5, 32] 4
[54, 0, 0][54, 1, 2] 6  [54, 2, 4] 7  [54, 3, 0][54, 4, 16] 5  [54, 5, 32] 4
[55, 0, 1] 3  [55, 1, 2] 6  [55, 2, 4] 7  [55, 3, 0][55, 4, 16] 5  [55, 5, 32] 4
[56, 0, 0][56, 1, 0][56, 2, 0][56, 3, 8] 1  [56, 4, 16] 5  [56, 5, 32] 4
[57, 0, 1] 3  [57, 1, 0][57, 2, 0][57, 3, 8] 1  [57, 4, 16] 5  [57, 5, 32] 4
[58, 0, 0][58, 1, 2] 6  [58, 2, 0][58, 3, 8] 1  [58, 4, 16] 5  [58, 5, 32] 4
[59, 0, 1] 3  [59, 1, 2] 6  [59, 2, 0][59, 3, 8] 1  [59, 4, 16] 5  [59, 5, 32] 4
[60, 0, 0][60, 1, 0][60, 2, 4] 7  [60, 3, 8] 1  [60, 4, 16] 5  [60, 5, 32] 4
[61, 0, 1] 3  [61, 1, 0][61, 2, 4] 7  [61, 3, 8] 1  [61, 4, 16] 5  [61, 5, 32] 4
[62, 0, 0][62, 1, 2] 6  [62, 2, 4] 7  [62, 3, 8] 1  [62, 4, 16] 5  [62, 5, 32] 4
[63, 0, 1] 3  [63, 1, 2] 6  [63, 2, 4] 7  [63, 3, 8] 1  [63, 4, 16] 5  [63, 5, 32] 4
 suminlim@sumin  ~/Downloads  gcc main.c
 suminlim@sumin  ~/Downloads  ./a.out
[0, 0, 0][0, 1, 0][0, 2, 0][0, 3, 0][0, 4, 0][0, 5, 0]
[1, 0, 1] -->3  [1, 1, 0][1, 2, 0][1, 3, 0][1, 4, 0][1, 5, 0]
[2, 0, 0][2, 1, 2] -->6  [2, 2, 0][2, 3, 0][2, 4, 0][2, 5, 0]
[3, 0, 1] -->3  [3, 1, 2] -->6  [3, 2, 0][3, 3, 0][3, 4, 0][3, 5, 0]
[4, 0, 0][4, 1, 0][4, 2, 4] -->7  [4, 3, 0][4, 4, 0][4, 5, 0]
[5, 0, 1] -->3  [5, 1, 0][5, 2, 4] -->7  [5, 3, 0][5, 4, 0][5, 5, 0]
[6, 0, 0][6, 1, 2] -->6  [6, 2, 4] -->7  [6, 3, 0][6, 4, 0][6, 5, 0]
[7, 0, 1] -->3  [7, 1, 2] -->6  [7, 2, 4] -->7  [7, 3, 0][7, 4, 0][7, 5, 0]
[8, 0, 0][8, 1, 0][8, 2, 0][8, 3, 8] -->1  [8, 4, 0][8, 5, 0]
[9, 0, 1] -->3  [9, 1, 0][9, 2, 0][9, 3, 8] -->1  [9, 4, 0][9, 5, 0]
[10, 0, 0][10, 1, 2] -->6  [10, 2, 0][10, 3, 8] -->1  [10, 4, 0][10, 5, 0]
[11, 0, 1] -->3  [11, 1, 2] -->6  [11, 2, 0][11, 3, 8] -->1  [11, 4, 0][11, 5, 0]
[12, 0, 0][12, 1, 0][12, 2, 4] -->7  [12, 3, 8] -->1  [12, 4, 0][12, 5, 0]
[13, 0, 1] -->3  [13, 1, 0][13, 2, 4] -->7  [13, 3, 8] -->1  [13, 4, 0][13, 5, 0]
[14, 0, 0][14, 1, 2] -->6  [14, 2, 4] -->7  [14, 3, 8] -->1  [14, 4, 0][14, 5, 0]
[15, 0, 1] -->3  [15, 1, 2] -->6  [15, 2, 4] -->7  [15, 3, 8] -->1  [15, 4, 0][15, 5, 0]
[16, 0, 0][16, 1, 0][16, 2, 0][16, 3, 0][16, 4, 16] -->5  [16, 5, 0]
[17, 0, 1] -->3  [17, 1, 0][17, 2, 0][17, 3, 0][17, 4, 16] -->5  [17, 5, 0]
[18, 0, 0][18, 1, 2] -->6  [18, 2, 0][18, 3, 0][18, 4, 16] -->5  [18, 5, 0]
[19, 0, 1] -->3  [19, 1, 2] -->6  [19, 2, 0][19, 3, 0][19, 4, 16] -->5  [19, 5, 0]
[20, 0, 0][20, 1, 0][20, 2, 4] -->7  [20, 3, 0][20, 4, 16] -->5  [20, 5, 0]
[21, 0, 1] -->3  [21, 1, 0][21, 2, 4] -->7  [21, 3, 0][21, 4, 16] -->5  [21, 5, 0]
[22, 0, 0][22, 1, 2] -->6  [22, 2, 4] -->7  [22, 3, 0][22, 4, 16] -->5  [22, 5, 0]
[23, 0, 1] -->3  [23, 1, 2] -->6  [23, 2, 4] -->7  [23, 3, 0][23, 4, 16] -->5  [23, 5, 0]
[24, 0, 0][24, 1, 0][24, 2, 0][24, 3, 8] -->1  [24, 4, 16] -->5  [24, 5, 0]
[25, 0, 1] -->3  [25, 1, 0][25, 2, 0][25, 3, 8] -->1  [25, 4, 16] -->5  [25, 5, 0]
[26, 0, 0][26, 1, 2] -->6  [26, 2, 0][26, 3, 8] -->1  [26, 4, 16] -->5  [26, 5, 0]
[27, 0, 1] -->3  [27, 1, 2] -->6  [27, 2, 0][27, 3, 8] -->1  [27, 4, 16] -->5  [27, 5, 0]
[28, 0, 0][28, 1, 0][28, 2, 4] -->7  [28, 3, 8] -->1  [28, 4, 16] -->5  [28, 5, 0]
[29, 0, 1] -->3  [29, 1, 0][29, 2, 4] -->7  [29, 3, 8] -->1  [29, 4, 16] -->5  [29, 5, 0]
[30, 0, 0][30, 1, 2] -->6  [30, 2, 4] -->7  [30, 3, 8] -->1  [30, 4, 16] -->5  [30, 5, 0]
[31, 0, 1] -->3  [31, 1, 2] -->6  [31, 2, 4] -->7  [31, 3, 8] -->1  [31, 4, 16] -->5  [31, 5, 0]
[32, 0, 0][32, 1, 0][32, 2, 0][32, 3, 0][32, 4, 0][32, 5, 32] -->4
[33, 0, 1] -->3  [33, 1, 0][33, 2, 0][33, 3, 0][33, 4, 0][33, 5, 32] -->4
[34, 0, 0][34, 1, 2] -->6  [34, 2, 0][34, 3, 0][34, 4, 0][34, 5, 32] -->4
[35, 0, 1] -->3  [35, 1, 2] -->6  [35, 2, 0][35, 3, 0][35, 4, 0][35, 5, 32] -->4
[36, 0, 0][36, 1, 0][36, 2, 4] -->7  [36, 3, 0][36, 4, 0][36, 5, 32] -->4
[37, 0, 1] -->3  [37, 1, 0][37, 2, 4] -->7  [37, 3, 0][37, 4, 0][37, 5, 32] -->4
[38, 0, 0][38, 1, 2] -->6  [38, 2, 4] -->7  [38, 3, 0][38, 4, 0][38, 5, 32] -->4
[39, 0, 1] -->3  [39, 1, 2] -->6  [39, 2, 4] -->7  [39, 3, 0][39, 4, 0][39, 5, 32] -->4
[40, 0, 0][40, 1, 0][40, 2, 0][40, 3, 8] -->1  [40, 4, 0][40, 5, 32] -->4
[41, 0, 1] -->3  [41, 1, 0][41, 2, 0][41, 3, 8] -->1  [41, 4, 0][41, 5, 32] -->4
[42, 0, 0][42, 1, 2] -->6  [42, 2, 0][42, 3, 8] -->1  [42, 4, 0][42, 5, 32] -->4
[43, 0, 1] -->3  [43, 1, 2] -->6  [43, 2, 0][43, 3, 8] -->1  [43, 4, 0][43, 5, 32] -->4
[44, 0, 0][44, 1, 0][44, 2, 4] -->7  [44, 3, 8] -->1  [44, 4, 0][44, 5, 32] -->4
[45, 0, 1] -->3  [45, 1, 0][45, 2, 4] -->7  [45, 3, 8] -->1  [45, 4, 0][45, 5, 32] -->4
[46, 0, 0][46, 1, 2] -->6  [46, 2, 4] -->7  [46, 3, 8] -->1  [46, 4, 0][46, 5, 32] -->4
[47, 0, 1] -->3  [47, 1, 2] -->6  [47, 2, 4] -->7  [47, 3, 8] -->1  [47, 4, 0][47, 5, 32] -->4
[48, 0, 0][48, 1, 0][48, 2, 0][48, 3, 0][48, 4, 16] -->5  [48, 5, 32] -->4
[49, 0, 1] -->3  [49, 1, 0][49, 2, 0][49, 3, 0][49, 4, 16] -->5  [49, 5, 32] -->4
[50, 0, 0][50, 1, 2] -->6  [50, 2, 0][50, 3, 0][50, 4, 16] -->5  [50, 5, 32] -->4
[51, 0, 1] -->3  [51, 1, 2] -->6  [51, 2, 0][51, 3, 0][51, 4, 16] -->5  [51, 5, 32] -->4
[52, 0, 0][52, 1, 0][52, 2, 4] -->7  [52, 3, 0][52, 4, 16] -->5  [52, 5, 32] -->4
[53, 0, 1] -->3  [53, 1, 0][53, 2, 4] -->7  [53, 3, 0][53, 4, 16] -->5  [53, 5, 32] -->4
[54, 0, 0][54, 1, 2] -->6  [54, 2, 4] -->7  [54, 3, 0][54, 4, 16] -->5  [54, 5, 32] -->4
[55, 0, 1] -->3  [55, 1, 2] -->6  [55, 2, 4] -->7  [55, 3, 0][55, 4, 16] -->5  [55, 5, 32] -->4
[56, 0, 0][56, 1, 0][56, 2, 0][56, 3, 8] -->1  [56, 4, 16] -->5  [56, 5, 32] -->4
[57, 0, 1] -->3  [57, 1, 0][57, 2, 0][57, 3, 8] -->1  [57, 4, 16] -->5  [57, 5, 32] -->4
[58, 0, 0][58, 1, 2] -->6  [58, 2, 0][58, 3, 8] -->1  [58, 4, 16] -->5  [58, 5, 32] -->4
[59, 0, 1] -->3  [59, 1, 2] -->6  [59, 2, 0][59, 3, 8] -->1  [59, 4, 16] -->5  [59, 5, 32] -->4
[60, 0, 0][60, 1, 0][60, 2, 4] -->7  [60, 3, 8] -->1  [60, 4, 16] -->5  [60, 5, 32] -->4
[61, 0, 1] -->3  [61, 1, 0][61, 2, 4] -->7  [61, 3, 8] -->1  [61, 4, 16] -->5  [61, 5, 32] -->4
[62, 0, 0][62, 1, 2] -->6  [62, 2, 4] -->7  [62, 3, 8] -->1  [62, 4, 16] -->5  [62, 5, 32] -->4
[63, 0, 1] -->3  [63, 1, 2] -->6  [63, 2, 4] -->7  [63, 3, 8] -->1  [63, 4, 16] -->5  [63, 5, 32] -->4
 suminlim@sumin  ~/Downloads 

반응형