Batch Normalization
최대공약수, 최소공배수
// 최대 공약수
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;
}
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");
}