Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Сообщения за день
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 22.12.2017, 09:55
Sweet07 вне форума Посмотреть профиль Отправить личное сообщение для Sweet07 Найти все сообщения от Sweet07
  № 1  
Ответить с цитированием
Sweet07
 
Аватар для Sweet07

Регистрация: 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. Причина: продолжение рассуждения...
Старый 22.12.2017, 12:16
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 2  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
readUnsignedByte()
__________________
Поймай яблоко 2!

Старый 22.12.2017, 12:46
Sweet07 вне форума Посмотреть профиль Отправить личное сообщение для Sweet07 Найти все сообщения от Sweet07
  № 3  
Ответить с цитированием
Sweet07
 
Аватар для Sweet07

Регистрация: 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)}

Старый 22.12.2017, 12:52
undefined вне форума Посмотреть профиль Отправить личное сообщение для undefined Найти все сообщения от undefined
  № 4  
Ответить с цитированием
undefined

Регистрация: Oct 2006
Сообщений: 2,281
что-то многовато бит в числе -126 это лонгинт что ли?

Старый 22.12.2017, 13:48
Zebestov вне форума Посмотреть профиль Отправить личное сообщение для Zebestov Посетить домашнюю страницу Zebestov Найти все сообщения от Zebestov
  № 5  
Ответить с цитированием
Zebestov
Lorem ipsum
 
Аватар для Zebestov

модератор форума
Регистрация: May 2001
Адрес: Одесса
Сообщений: 4,869
Записей в блоге: 4
В теме начался какой-то оффтоп. Ты спрашивал о проблемах с чтением из BA. Ты получил ответ, как читать беззнаковый байт. Дальше уже пошли вопросы из соседней темы про MQTT.
Если есть вопросы по чтению из BA, спрашивай. Остальное — в другой теме.
__________________
Поймай яблоко 2!

Создать новую тему Ответ Часовой пояс GMT +4, время: 20:11.
Быстрый переход
  « Предыдущая тема | Следующая тема »  

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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