编写一个C程序对16位整数进行倒序排列 比如1101 1100 1000 0101 (0xDC85) 倒序1010 0001 0011 1011 (0xA13B) 我没想到什么好方法。基本上就是取得某一位,然后放到应该放的位置。 unsigned short m = 0xDC85; unsigned short j = 0; // 临时变量 unsigned short k = 0; // 存放最终结果 for (int i = 0; i < 16; ++i) { if (i < 8) { j = m & (1 << i); int z = 15 - 2 * i; j = j << z; } else { j = m & (1 << i); int z = 2 * i - 15; j = j >> z; } k = k | j; }