임베디드 시스템에서는 1 바이트 길이 (0-255, 다시 0으로 롤백) 인 배열 인덱스를 사용하는 것으로 제한됩니다. 배열은 계속 추가 항목을 계속 가져 오지만 배열의 전체 길이는 고정되어 255보다 훨씬 작습니다 (예 : 5). 이전 값은 단순히 겹쳐 쓰거나 "팝"됩니다 (FIFO 스택).롤오버하는 1 바이트 인덱스의 올바른 정렬 순서
보통 가장 최근의 첫 번째 (또는 마지막)의 정렬 순서는 단순히 배열 색인 (7,8,9,10,11 또는 17,18,19,20,21 또는 124,125,126,127,128 등)의 숫자 정렬입니다.).
인덱스가 255에 도달 할 때를 제외하고 롤오버됩니다. 이제 숫자가
253, 254, 255, 0, 1, 254, 255, 0, 1, 이러한 경우, 2
간단한 번호순 모습 (0, 1, 253, 254, 255)가 가장 최근의 첫 번째 (또는 마지막) 정렬이 아닙니다.
그런 경우 정확한 정렬 순서를 찾는 우아한 방법은 무엇입니까?
Honza의 응답에서 롤오버가 감지되면 모든 숫자를 1 바이트 2의 보수로 처리합니다. 이제 254는 -2, 255는 -1, 1은 1, 2는 2로 유지됩니다. 색인 순서는 최근순입니다! – PVS