我將一些C++代碼移植到Java代碼中。java長數據類型轉換爲無符號值
在java中沒有可以容納64位的無符號數據類型。
我有一個存儲在Java的long
數據類型(當然是簽名)的散列碼。
long vp = hashcode/38; // hashcode is of type 'long'
由於38這裏是大於2,所得到的數目可以被安全地用於java的任何其他運算。
問題是如果'hashcode'中的有符號位設置爲1.我不想在變量vp中獲得負值。我想要一個正值,就好像數據類型是無符號的。
P.S:由於性能問題,我不想使用Biginteger來達到此目的。
我不明白你的問題。請檢查您的拼寫。 –
這是一個二進制補碼64位。 ([spec](http://docs.oracle.com/javase/specs/jls/se7/html/jls-4.html)) – ignis
您是否需要獲取C++中的精確值? – EJP