제가 본 redisgetbit의 설명은 매우 정확하다고 생각하지만 하나도 이해가 되지 않습니다.
이 계산식도 이해가 되지 않습니다. 오프셋의 바이너리 비트는 무엇입니까?
GETBIT 명령은 오프셋 오프셋에서 비트 배열 bitarray의 이진 비트 값을 반환하는 데 사용됩니다.
GETBIT <비트 어레이><오프셋>
GETBIT 명령의 실행 과정은 다음과 같습니다.
으아아아예를 들어 IMAGE_BIT_EXAMPLE 그림에 표시된 비트 배열의 경우 명령은 다음과 같습니다.
GETBIT <비트 어레이> 3
은 다음을 수행합니다.
으아아아명령어의 실행 과정은 그림 IMAGE_SEARCH_EXAMPLE과 같습니다.
digraph { label = "n graph IMAGE_SEARCH_EXAMPLE 오프셋이 3인 바이너리 비트를 찾아 반환하는 프로세스"; // Rankdir = LR; point_to_buf0 [label = "1) buf[0] 바이트 찾기", shape = plaintext ]; point_to_idx3 [label = "2) 4번째 이진수 값을 반환합니다.", shape = plaintext]; [label = " {
다른 예를 들자면 IMAGE_ANOTHER_BIT_EXAMPLE 그림에 표시된 비트 배열에 대해 다음 명령을 사용하세요.
GETBIT <비트 어레이> 10
은 다음을 수행합니다.
으아아아명령어의 실행 과정은 그림 IMAGE_ANOTHER_SEARCH_EXAMPLE에 나와 있습니다.
digraph { label = "n graph IMAGE_ANOTHER_SEARCH_EXAMPLE 오프셋이 10인 바이너리 비트를 찾아 반환하는 프로세스"; Rankdir = LR; // node [shape = Record] buf [label = " { buf[0] | 1 | 0 | 0 | buf[1] | 0 | 0 | 1 | buf[3] | 0 | 0 | 0 | 0 | point_to_buf [label = "1) buf[1] 바이트 찾기"]; point_to_bit [label = "2) 세 번째 바이너리 비트 값 반환"] // edge [style = dashed] -> ; point_to_bit ->
GETBIT 명령으로 수행되는 모든 작업은 일정한 시간 내에 완료될 수 있으므로 이 명령의 알고리즘 복잡도는 O(1)입니다.Zhihu에서 봤는데 위와 비교하면 꽤 이해하기 쉬운 것 같아요.
欢迎选择我的课程,让我们一起见证您的进步~~