short val1 = short.MaxValue;
short val2 = short.MaxValue;
int result = val1;
result |= val2 << 16;
Console.WriteLine( "Result =\t" + result ); //2147450879
Console.WriteLine( "Expected =\t" + int.MaxValue ); //2147483647
Run Code Online (Sandbox Code Playgroud)
short已签名,因此最大值为0x7FFF.连接这导致0x7fff7fff而不是0x7fffffff2147450879.所以你看到的实际上是正确的.
| 归档时间: |
|
| 查看次数: |
3405 次 |
| 最近记录: |