首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

俗话说小鬼难缠啊简单的C# 移位的有关问题

2013-10-27 
俗话说小鬼难缠啊!简单的C#移位的问题uint x 0xffffffff 31//头一次右移了31位,结果是1; 这个在我预

俗话说小鬼难缠啊!简单的C# 移位的问题
     
   uint x = 0xffffffff >> 31;          //头一次右移了31位,结果是1; 这个在我预料中
    x = x >> 1;  //再右一次,结果是0;这个也在预数;

        //但下面这个结果就泥玛大大出乎我的意料。右移了32位结果还是0xffff,ffff
        //我本来想他的结果也应该是0啊。每右移1次,剔除一个1,右移32位。
        //32个1全部剔除,那不应该是0吗???   
          //应该和让面的 x的结果是一样啊 可是y=0xffff,ffff
请问这是怎么回事???

        uint y = 0xffffffff >> 32; 

连个位数枚举都用int类型的菜鸟撸过,
[解决办法]
http://msdn.microsoft.com/zh-cn/library/xt18et0d(v=vs.90).aspx

第二个操作数的低5位,不过是0~31

热点排行