Как читать и хранить 64-битный UNSIGNED long из ByteBuffer в Java? Где его хранить, так как долго не может его удержать? - PullRequest
0 голосов
/ 03 октября 2019

Насколько я понимаю, Java MAX_LONG - 9223372036854775807, но это потому, что он подписан. беззнаковое 64-битное число может быть намного больше, чем это. Я подозреваю, что должен использовать BigInteger, но как мне перейти от BigInteger к 64-битному без знака и обратно?

Что именно вы имеете в виду, переходя от BigInteger к 64-битному без знака и обратно?

У меня 64-разрядное число без знака, поступающее в байтовый буфер с прямым порядком байтов. Допустим, это Long.MAX_VALUE + 1 или 9223372036854775808. Я не могу хранить это на лонге, поэтому оно должно входить внутрь BigInteger. Тогда я должен сделать обратное. У меня есть 64-битное число без знака в BigInteger, и я должен записать в ByteBuffer.

...