我认为这是不可能的,因为Int32有1位符号并且有31位数字信息,Int16有1位符号和15位数字信息,这导致有2位符号和30位信息.
如果这是真的那么我就不能有一Int32到两个Int16.这是真的?
提前致谢.
附加信息:使用Vb.Net,但我认为我可以毫无问题地翻译C#答案.
我最初想要做的是将一个转换UInt32为两个,UInt16因为这是一个与基于WORD的机器交互的库.然后我意识到这Uint不符合CLS,并试图用Int32和做同样的事情Int16.
EVEN WORSE:a = CType(c And &HFFFF, Int16);投掷OverflowException.我期望该语句与a = (Int16)(c & 0xffff);(不抛出异常)相同.