我在磁盤上,我正在讀這已被寫入由C/C++代碼的文件。我知道我有兩個64位無符號整數要讀取,但Java不支持無符號整數,所以當我執行DataInputStream.readLong()時得到的值不正確。 (現在忽略字節順序我實際上使用DIS的衍生物,稱爲LEDataInputStream,我從網上下載)C/C++很長很長到Java長
很多帖子在這裏討論使用BigInteger,但javadoc閱讀bytearray只談論加載一個bytearray respresentation,並且這些問題似乎集中在這樣一個事實上,即有些人超出了java long類型的正面界限,而我將遠遠沒有看到我正在閱讀的數據。
我有一個MATLAB /倍頻腳本讀取這些長長的值作爲每兩個32位整數,然後做一些乘法和增加得到它想要過答案。
我想的問題是 - 怎麼辦我讀取的64位無符號整數或者使用的BigInteger,或者使用[LE] DataInputStream.XXX?
在此先感謝
這看起來很有希望,但我需要實現的功能來讀取long類型的自己(因爲沒有方法有讀取一個unsigned long),並把它變成的BigInteger。我已經接受了這個作爲官方的回答,因爲它是最接近我想要的東西 – 2011-02-24 12:22:11