PDA

Просмотр полной версии : Int64


RandomSOFT
06.09.2011, 18:39
Как из имеющегося Int64 в десятичном представлении вычленить старшие и младшие 32 разряда?

bav
06.09.2011, 20:05
Если вы про com.netease.protobuf.Int64 (http://code.google.com/p/protoc-gen-as3/source/browse/as3/com/netease/protobuf/Int64.as) то там есть геттер high, а в супер-классе публичное поле low. С данной библиотекой не работал, просто предполагаю.

RandomSOFT
06.09.2011, 20:12
Нет, библиотек никаких в данный момент не имею ввиду, меня интересует алгоритм. Нужна функция, которая на вход получает Int64, а на выходе дает два Int32, старшие и младшие разряды соответственно.

gloomyBrain
06.09.2011, 20:12
@bav - предполагаю, что раз число "в представлении", то, вероятнее всего в виде строки. а раз так - нужно разбивать строку, делать parseInt или parseFloat (потому как оно возвращает Number и мы точно не вылезем за пределы int'а). Ну и хранить все это в ByteArray или собственном классе.

ЗЫ
Это все телепатия, вопрос надо бы переформулировать

RandomSOFT
06.09.2011, 20:17
Да, изначально Int64 - строка в десятичном представлении, нужно получить два Int32.

mrs
07.09.2011, 03:15
выше ведь ссылку на com.netease.protobuf.Int64 привели, там как раз алгоритм можно подглядеть... вообще для упрощения вычислений в таком случае я с сервера передаю Int64 в виде строки в шестнадцатеричном представлении. с ним проще работать, чем с десятичным представлением...

RandomSOFT
07.09.2011, 17:22
Да, подсмотрел, спасибо.