如何将一个Int64解码回两个Int32?

miz*_*_sk 3 c#

之前的问题是将二进制编码Int32为一个Int64[ C# - 从两个Int32中创建一个Int64

问题:如何将一个解码Int64回两个Int32

Jon*_*eet 8

像这样的东西:

long x = ...;

int a = (int) (x & 0xffffffffL);
int b = (int) (x >> 32);
Run Code Online (Sandbox Code Playgroud)

这可能是第一种形式的掩码是不必要的......我永远不会记得缩小转换和签名值的细节,这就是为什么我把它包括在内:)