读书人

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

发布时间: 2013-10-27 15:21:49 作者: rapoo

俗话说小鬼难缠啊!简单的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

读书人网 >C#

热点推荐