내가 링크 http://pvtridvs.net/pool/bithacks.html#BitReverseObvious을보고 여기에 코드를 게시 :리버스 비트 확실한 방법
unsigned int v; // reverse the bits in this
unsigned int t = v; // t will have the reversed bits of v
int i;
for (i = sizeof(v) * 8 - 1; i; i--)
{
t <<= 1;
v >>= 1;
t |= v & 1;
}
누군가의 도움이 왜이 모양-간단한 알고리즘 작동 조금 설명 할 수 있을까요? 필자는 종이에서 가장 간단한 예제들, 예를 들어 4 비트 0011 등을 테스트했지만, 왜이 3 행의 쉬프트와 비트 단위 연산이 그것을 성취 할 수 있는지 이해하지 못합니다. 그것은 t
의 낮은 위치에 v
의 낮은 위치의 "OUT"비트 "의"를 이동
URL에 "첫 번째 방법에는 약 18 회의 작업이 필요합니다 ..."라고 나와 동의하지 않습니다. 첫 번째 방법은 반복 당 6 개의 작업을 수행하고 다른 180 개의 작업에는 32 개의 반복을 수행합니다. –