我尝试将 IP 地址转换为长值:
byte[] Ip = new byte[4] { 192, 168, 1, 0 };
UInt32 Ret1 = (((UInt32)Ip[0]) << 24) |
(((UInt32)Ip[1]) << 16) |
(((UInt32)Ip[2]) << 8) |
(((UInt32)Ip[3]));
UInt32 Ret2 = BitConverter.ToUInt32(Ip, 0);
Run Code Online (Sandbox Code Playgroud)
Ret1返回3232235776(正确值)
Ret2 返回108736(?)
为什么会出现这种差异?