最近、偶数のバイナリ表現を反転するこの関数に出くわしましたが、コードの背後にあるロジックを理解できませんか?
int binaryReverse(int toReverse) {
int reversed = 0;
while(toReverse > 0) {
reversed *= 2;
reversed += toReverse % 2;
toReverse /= 2;
}
return reversed;
}