Показать сообщение отдельно
Старый 20.05.2011, 05:16
ShadowsInRain вне форума Посмотреть профиль Отправить личное сообщение для ShadowsInRain Найти все сообщения от ShadowsInRain
  № 4  
Ответить с цитированием
ShadowsInRain
 
Аватар для ShadowsInRain

Регистрация: Mar 2011
Сообщений: 35
Что-то не замечал однобайтовых в АС3.

Psycho Tiger уже дал ответ к этой конретной ситуации, но, всё-же, на будущее.
Цитата:
Для обычого 32-битного выключение любого бита:
Код AS3:
result = number & ~(1 << bit_index);
Включение:
Код AS3:
result = number | (1 << bit_index);
Переключение:
Код AS3:
result = number ^ (1 << bit_index);
Подходит для знакового и беззнакового (int или uint).

Если нужно сначала извлечь единственный байт из числа:
Код AS3:
byte = (number >> byte_index*8) & 0xFF;
В этом случае нужный байт окажется младшим байтом.

---
byte_index — номер байта, от 0 до 3
bit_index — номер бита, от 0 до 31 (до 7, если работать только с младшим с байтом)