2018. 8. 9. 01:13

Batch Normalization

2018. 3. 29. 01:36

최대공약수, 최소공배수

// 최대 공약수
int GCD(int p, int q)
{
 if (q == 0) return p;
 return GCD(q, p%q);
}

 

 

// 최소 공배수

int LCM(int p, int q)
{
 int gcd = GCD(p, q);
 return p*q / gcd;
}

2018. 3. 28. 01:04

bitmask 작성 방법

#include <stdio.h>

#define TODIGIT(x) ((x)>'9'?(x)-'A'+10:(x)-'0')
#define MAX_SIZE (8)

int inputArr[MAX_SIZE] = {6,13,5,1,6,9,2,3};

 

 

int encyption(int* arr, int size)
{
 int ptr = arr[0];

 for (int i = 1; i < MAX_SIZE; i++)
 {
        ptr = (ptr << 4) | arr[i];
 }
 
 return ptr;
}

 

 

int decyption(int pack_data, int k)
{
 int  n = k * 4;
 unsigned  mask = 0xf;
 mask <<= n;
 return ((pack_data & mask) >> n);
}

 


void main()
{
 int pack_num = encyption(inputArr, MAX_SIZE);

 printf("pack data %d \n", pack_num);

 

 for (int idx = MAX_SIZE - 1; idx >= 0; idx--)
 {
  int tmp = decyption(pack_num, idx);
  printf("%d : %d \n", idx, tmp);
 }
 
 printf("\n");
}