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

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

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 10.12.2009, 15:06
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 21  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
Цитата:
все равно что то не то
записываю число = -22222
получаю = B2 D2 FE FF C7
читая получаю = 2147461426
с последним байтом какой-то косяк..
кажется так правильнее
Код AS3:
var signByte:uint = (0x80000000 & uint(value)) >>> 25; // используется беззнаковое смещение

Старый 10.12.2009, 15:12
DEAFFF вне форума Посмотреть профиль Отправить личное сообщение для DEAFFF Посетить домашнюю страницу DEAFFF Найти все сообщения от DEAFFF
  № 22  
Ответить с цитированием
DEAFFF
 
Аватар для DEAFFF

Регистрация: Feb 2004
Адрес: Россия, В. Новгород
Сообщений: 255
Отправить сообщение для DEAFFF с помощью ICQ
не все равно какой то косяк (((
__________________
зная будущее, хотя бы, на 10 минут вперед, можно покорить весь мир...

Старый 10.12.2009, 15:14
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 23  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
как записывается -22222 теперь?
и как считывается скажем 0x40 ?

Старый 10.12.2009, 15:19
DEAFFF вне форума Посмотреть профиль Отправить личное сообщение для DEAFFF Посетить домашнюю страницу DEAFFF Найти все сообщения от DEAFFF
  № 24  
Ответить с цитированием
DEAFFF
 
Аватар для DEAFFF

Регистрация: Feb 2004
Адрес: Россия, В. Новгород
Сообщений: 255
Отправить сообщение для DEAFFF с помощью ICQ
теперь -22222 записывается так = B2 D2 FE FF 47
читается так = 2147461426

байт 0x40 читается так = -64
__________________
зная будущее, хотя бы, на 10 минут вперед, можно покорить весь мир...

Старый 10.12.2009, 15:24
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 25  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
Код AS3:
	var abs:uint = 0x80000000 | uint(value); // значение без знака
 
	while (abs != 0xffffffff) // длина в битах
	{
		abs = abs >> 1;
		len++;
	}
 
	abs = uint(value);


Последний раз редактировалось bicubic_bublic; 10.12.2009 в 15:26.
Старый 10.12.2009, 15:24
DEAFFF вне форума Посмотреть профиль Отправить личное сообщение для DEAFFF Посетить домашнюю страницу DEAFFF Найти все сообщения от DEAFFF
  № 26  
Ответить с цитированием
DEAFFF
 
Аватар для DEAFFF

Регистрация: Feb 2004
Адрес: Россия, В. Новгород
Сообщений: 255
Отправить сообщение для DEAFFF с помощью ICQ
мне кажется чтение я не то взял ) какое то оно странное и непонятно где в нем берется минус...
__________________
зная будущее, хотя бы, на 10 минут вперед, можно покорить весь мир...

Старый 10.12.2009, 15:25
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 27  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
(result << 25 ) >> 25; - вот тут берется знак

Старый 10.12.2009, 15:26
DEAFFF вне форума Посмотреть профиль Отправить личное сообщение для DEAFFF Посетить домашнюю страницу DEAFFF Найти все сообщения от DEAFFF
  № 28  
Ответить с цитированием
DEAFFF
 
Аватар для DEAFFF

Регистрация: Feb 2004
Адрес: Россия, В. Новгород
Сообщений: 255
Отправить сообщение для DEAFFF с помощью ICQ
вставил новые строки, при записи зациклолось

Добавлено через 37 секунд
Цитата:
Сообщение от bicubic_bublic Посмотреть сообщение
(result << 25 ) >> 25; - вот тут берется знак
ааа понятно...
__________________
зная будущее, хотя бы, на 10 минут вперед, можно покорить весь мир...

Старый 10.12.2009, 15:36
bicubic_bublic вне форума Посмотреть профиль Найти все сообщения от bicubic_bublic
  № 29  
Ответить с цитированием
bicubic_bublic
Banned
[+4 25.09.09]
[+1 12.11.09]
[+4 12.12.09]

Регистрация: Sep 2009
Сообщений: 231
Код AS3:
public function writeVarInt32(value:int):void
{
	if (value == 0) 
	{
		_byteArray.writeByte(0);
		return;
	}
 
	var len:uint = 0; // значимая длина в битах
	var signByte:uint = (0x80000000 & uint(value)) >>> 25; // знак-бит (перемещаем на место 7го бита)
	var abs:uint = uint(value);
 
	while ((abs != 0) && (abs != 0xffffffff))
	{
		abs = abs >> 1;
		len++;
	}
 
	abs = uint(value);
 
	var signBytePos:uint = Math.floor(len / 7) + 1; // длина s32
 
	while (signBytePos-- != 0) {
		var byte:uint = abs & 0x0000007f; // отрезаем 7 бит от числа
		abs = abs >> 7; //смещаем на 7 бит
		if (signBytePos != 0) //если что-то еще осталось добавляем 8-й бит флаг
		{
			byte = byte | 0x00000080;
		}
		else //последний байт - добавляем знак-бит
		{
			byte = byte | signByte; // это вообще кажется не обязательно теперь..
		}
		_byteArray.writeByte(byte); //пишем текущий байт..
	}
}


Последний раз редактировалось bicubic_bublic; 10.12.2009 в 16:57.
Старый 10.12.2009, 15:41
DEAFFF вне форума Посмотреть профиль Отправить личное сообщение для DEAFFF Посетить домашнюю страницу DEAFFF Найти все сообщения от DEAFFF
  № 30  
Ответить с цитированием
DEAFFF
 
Аватар для DEAFFF

Регистрация: Feb 2004
Адрес: Россия, В. Новгород
Сообщений: 255
Отправить сообщение для DEAFFF с помощью ICQ
ура заработало! ))))))

Добавлено через 1 минуту
супер спасибо огромное!!!
__________________
зная будущее, хотя бы, на 10 минут вперед, можно покорить весь мир...

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

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

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


 


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


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