Есть код, который шифрует числа, путём перестановки первого и последнего бита в байте. Как сделать обратное действие?
unsigned int n = abs(atoi(arr[i]));
//Замена бита
if (n && ((n & 1) == 0))
{
unsigned int i = -1;
for (unsigned int m = n; m; m >>= 1, i++);
n = (n & ~(1 << i)) | 1;
}