언어는 javascript입니다.
정수타입 변수를 담고있는 오브젝트가 있습니다.
이 오브젝트가 굉장히 수가 많아 메모리 문제가 일어나서 한 변수에 비트연산을 통해 여러 정수를 담으려고합니다.
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
a a a a b b b b c c c c d d d d e e e e
이런식으로 하려고 합니다.
예를 들어 변수 c를 읽으려면
var c = bit >> 8 & (1+2+4+8)
이런식으로 가능한데,
쓰는것이 문제입니다.
c 부분에 새로운 값을 넣을 때 a,b, d, e값은 유지하면서 c값만 변경하고싶은데
어떻게 해야할지 생각을해봐도 떠오르지가 않네요
도움부탁드립니다.
bit = bit & ~(15 << 8) | (value) << 8;
감사합니다!!
비트 연산도 일반 사칙연산과 마찬가지로 논리곱(&, <<, >>)이 논리합(|)보다 우선함. 그리고 단항 연산자인 bitwise not(~)이 가장 우선하고.
비트연산을 처음 써보는거라, 간단한것 떠올리기도 힘들었는데 많은 도움이 되었습니다