2011-06-24 41 views

回答

0

不,你不能施放。這將導致大數值的溢出異常。
你可以,但是,這樣做:

intValue = BitConverter.ToInt32(BitConverter.GetBytes(uintValue), 0) 

但是你做與無符號值的數學沒有停止他們鑄造的東西?它只是工作。

+0

表現。我只是想知道是否有辦法。你可以用C++進行轉換,而不用轉換爲其他表示。 4294967295 - (x - 1)也適用。 – jnm2

+0

@ jnm2 Dim b As UInteger = Not a'是否存在性能問題?或者我錯過了什麼? – GSerg

+1

[Wikipedia](http://en.wikipedia.org/wiki/Two's_complement)可以比我在這裏的空間更好地解釋它,但'Not'不是一個二進制補碼操作符。不是0 = 4294967295,而是-0 = 0.不是1 = 4294967294,而是-1 = 4294967295. – jnm2