当你想用一个数存储2个数时,可以使用此方法,比如存1,5,在第4行中((1<<16)+5)<<16)因为int为32位的关系,左移第二次16位的时候,把首位的1挤出去了,所以第4行结果为5,此操作类似%求余。
注:左移 <<16= *2^16;
Console.WriteLine(1<<16);
Console.WriteLine(1<<16>>16);
Console.WriteLine(((1<<16+5)));
Console.WriteLine((((1<<16)+5)<<16)>>16);
Console.WriteLine((((1<<16)+6)>>16));
Console.WriteLine(1*10+5);
Console.WriteLine((1*10+5)/10);
Console.WriteLine((1*10+5)%10);
输出
65536
1
2097152
5
1
15
1
5
2个十位数也行,2个数过大则会越界,说是奇淫技巧还是少用为好_(¦3」∠)_,写在业务逻辑里不方便理解和调试