2011-12-22 3 views
0

100 비트 해상도의 MySQL에서 비트 맵이 필요하지만 가장 큰 정수 유형 인 BIGINT는 64 비트를가집니다. 나는 bitwise and and or를 수행하고 싶다.MySQL에서 비트가 100 비트보다 많습니다

최대 64 개의 값이 허용되므로 세트도 옵션이 아닙니다 (내부적으로 BIGINT를 사용하여 구현 된 것 같습니다).

지금 볼 수있는 유일한 옵션은 BitField를 2 개의 값으로 나누는 것입니다.

답변

0

나는 아주 좋은 해결책은 아니지만, 여러 열, 작품으로 나의 비트 필드를 나눠서갔습니다. 그러나 비트 필드의 길이는 하드 드라마가 아닙니다. 조금도.

1

BINARY 또는 VARBINARY을 사용하면 어떨까요?

http://dev.mysql.com/doc/refman/5.6/en/binary-varbinary.html

이 더 이상 BIT 길이를 허용 것이지만, 결과적으로 당신은/주조 첫 번째 변환없이 사용할 수 적은 작업이있을 것이다. 또한, 당신은 단지 8 비트의 배수를 가질 수 있습니다 ...

+0

XOR, AND, OR을 수행 할 수 있습니까? 나는 그것에 대해 아무것도 찾을 수 없습니다. – scravy

+1

내가 말했듯이 먼저 캐스팅/변환해야합니다. 내가 올린 링크에서'HEX '를 사용하여 비트의 16 진수 문자열 표현을 얻는 예제를 찾을 수 있습니다. 나는 당신이 bitwise 연산을 사용하기 전에 10 진수로 변환 할 수 있다고 추측하고있다. [here here] (http://dev.mysql.com/doc/refman/5.0/en/string-functions.html#function_hex). 분명히 그렇게 효율적이지 않거나 읽을 수있는 것이 아니기 때문에 두 열의 비트를 분리하는 독창적 인 생각은 사용 사례를 더 잘 나타낼 수 있습니다 ...? –