Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Баги ByteArray (http://www.flasher.ru/forum/showthread.php?t=214846)

Sweet07 22.12.2017 09:55

Баги 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

Zebestov 22.12.2017 12:16

readUnsignedByte()

Sweet07 22.12.2017 12:46

Мне это как-то реализовать, так как отправляю на сервер зарос по протоколу 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)...

Идеи?

undefined 22.12.2017 12:52

что-то многовато бит в числе -126 это лонгинт что ли?

Zebestov 22.12.2017 13:48

В теме начался какой-то оффтоп. Ты спрашивал о проблемах с чтением из BA. Ты получил ответ, как читать беззнаковый байт. Дальше уже пошли вопросы из соседней темы про MQTT.
Если есть вопросы по чтению из BA, спрашивай. Остальное — в другой теме.


Часовой пояс GMT +4, время: 22:03.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.