C#中&操作 0xffffffff是不是得先转成10进制? 转成-1再&结果就对了

解决方案 »

  1.   


                int t = -613102763;
                uint mask = 0xffffffff;
                int r = t & (int)mask;
      

  2.   

    在js中.
    -613102763 的 二进制 为 100100100010110011010010101011
    在c#中
    int 型的 -613102763 为 11011011011101001100101101010101
    long 型的 -613102763 为 1111111111111111111111111111111111011011011101001100101101010101&符在js和c#中都是求位与。具体概念你应该清楚。
    由于long 是按照 1111111111111111111111111111111111011011011101001100101101010101与目标值求位于。也就造成了以上的结果.