1.비트연산자

 

사용하게 된 이유는 다음과 같다.

위의 사진처럼 체크한 것을 DB상에 데이터로 넣어야되는데 각각의 항목에 대해 Column을 만들기에는 너무 공간낭비가 커서 BIT를 사용해서 넣기로 하였다.

 

그래서 '권리침해~'를 예시로 들면 해당없음만 체크하면 2^0 x 1, 압류만 체크하면 2^1 x 1 이렇게 저장해주기로 했다.

그래서 front측에서는 값을 모두 바꿔서 10진수 숫자로 Backend에 넘겨주면 백엔드에서는 이걸 다시 2진수로 바꿔서 로직을 돌리고, DB에 넣을때는 결국 다시 10진수로 넣어주면 되었다.

 

그래서 지금 해야할 것은

1. JS에서 체크 된 것을 확인하고 10진수로 만들기

2. Python에서 bit연산자를 통해 2진수의 각각의 자릿수가 1인지 아닌지 체크하기

 

 

해결책.

 

1. 매우간단하다. 

str[i] * (2 ^ i) 이렇게 해주면 매우 간단하게 10진수로 변환

 

2. 

str & (1 << i) 이렇게 하면 1인지 아닌지 확인 가능하다.

 

그러면서 간단하게 비트연산자를 찾아보기도 했는데, 결국 간단한 함수들을 어떻게 활용하는지가 제일 중요한듯

 

https://dojang.io/mod/page/view.php?id=173 

 

C 언어 코딩 도장: 23.1 비트 AND, OR, XOR 연산자 사용하기

이제 비트 연산자를 사용하여 값을 계산해보겠습니다. 다음 내용을 소스 코드 편집 창에 입력한 뒤 실행해보세요. a & b a | b a ^ b bitwise_and_or_xor_operator.c #include int main() { unsigned char num1 = 1; // 0000 00

dojang.io

 

+ Recent posts