如何使两个WORD变为DWORD

jac*_*kie 0 c#

        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)

Joe*_*oey 8

short已签名,因此最大值为0x7FFF.连接这导致0x7fff7fff而不是0x7fffffff2147450879.所以你看到的实际上是正确的.

  • 我想你的意思是说"短"签了,对吗? (4认同)