您的位置:首页 > 其它

编写一个C程序对16位整数进行倒序排列.

2010-06-11 01:30 369 查看
编写一个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;  
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐