2016-09-18 53 views
0

有解析UINT号为积极数字和有UINT和长数之间的一对一匹配一个安全的方式?解析UINT正长,有一个1对1的匹配

+0

如果收到一个uint数量和只投它作为(长)数,其结果也可以是负的,因为在长表示,其符号位作为其一部分处理过值 –

+2

该符号仅包含在MSB(最高位)中。一个32位UINT(0到〜40n)全部用64位长表示,31位备用。 – StuartLC

回答

1
uint i = 0; 
long o = Convert.ToInt64(i); 

uint i = 0; 
long o = (long)i; 
+0

通过做Convert.ToInt64(i)结果也可能是长时间的否定,或者不可能?这种方式和做(长)我有区别吗? –

+0

如果你有一个uint作为输入,你不可能得到一个负的int64,所以只要铸造到long就足够了 – rlee

+0

1011(二进制)作为无符号值是+11。将此号码转换为有符号值,您将得到的值为-3。这不正确吗? –