|
|
|||||
Регистрация: Jul 2011
Сообщений: 121
|
Баги ByteArray
Кто знает как обойти эту букашку? Или что это такое?
import flash.utils.ByteArray; var byte:ByteArray=new ByteArray(); byte.writeByte(130); //записываю число в 0-й байт равное 1000 0010 byte.position=0 //перемещаю на начало массива trace(byte.readByte()); //вычитываю байт и получаю -126 //-126 //какого, Карл! я уже мозг сломал, почему запись 1000 0010 записывается как отрицательное число вида 1111 1111 1111 1111 1111 1111 1000 0010? Понимаю, что это может быть из-за переполнения, но как если пишу байт... до 127 запись и чтение проходят нормально, но выше начинается эта пляска. Флэш криво пишет биты и не может записать нормально число!? Я уже пробовал и сдвигать побитно: byte.writeByte(8200 >> 6); итог - то же самое. Дохожу да 64, а потом КАРАМБА и -126 Скрин на калькулятор (Ссылка постоянно убивалась, поэтому вставил так - пробелы уберите вокруг yadi): https:// yadi .sk/i/7dxndkmN3Qqvft
__________________
for (year=0;year<life;year++) {birthday(year)} Последний раз редактировалось Sweet07; 22.12.2017 в 11:29. Причина: продолжение рассуждения... |
|
|||||
Lorem ipsum
|
__________________
Поймай яблоко 2! |
|
|||||
Регистрация: Jul 2011
Сообщений: 121
|
Мне это как-то реализовать, так как отправляю на сервер зарос по протоколу MQTT и первые биты сообщения должны быть в виде 1000 0010 , 0000 0000 , 0000 1010, а он отправляет сначала -126 (1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 1111 , а только потом 1000 0010 0000 0000 0000 1010)...
Идеи?
__________________
for (year=0;year<life;year++) {birthday(year)} |
|
|||||
Регистрация: Oct 2006
Сообщений: 2,281
|
что-то многовато бит в числе -126 это лонгинт что ли?
|
|
|||||
Lorem ipsum
|
В теме начался какой-то оффтоп. Ты спрашивал о проблемах с чтением из BA. Ты получил ответ, как читать беззнаковый байт. Дальше уже пошли вопросы из соседней темы про MQTT.
Если есть вопросы по чтению из BA, спрашивай. Остальное — в другой теме.
__________________
Поймай яблоко 2! |
Часовой пояс GMT +4, время: 19:40. |
|
« Предыдущая тема | Следующая тема » |
|
|