日期:2014-05-18  浏览次数:21539 次

(num & 0xfffe)帮忙解释下意思呢?
C# code
using System;
class MainClass
{
    static void Main()
    {
        ushort num;  //ushort(范围: 0 到 65,535 大小 无符号 16 位整数)  定义num
        ushort i;    

        for (i = 1; i <= 10; i++)  //I等于1 小于10 累计10次
        {
            num = i;
            Console.WriteLine("序号; " + num); //按 1.2.3.4...累积到10

            num = (ushort)(num & 0xfffe);      //强制 NUM 等于ushort类

            Console.WriteLine("序号后关掉位为零; " + num + "\n");// \n 换行
        }
    }
}


num = (ushort)(num & 0xfffe);  
这里的(num & 0xfffe)是什么意思?

------解决方案--------------------
这个是二进制的与运算. 运算表达式为
1&1 =1
1&0 =0
0&1 =0
0&0 =0

0xfffe是18进制 换成二进制就是

1111111111111110

比如num为3时

num & 0xfffe为
0000000000000011
1111111111111110
结果为 0000000000000010为十进制的2