Об IT и менеджменте этой сфере, а так же о различных технологиях и фишках ну и уроки...
23 ноября 2011
Что выбрать? Number, int, uint
В actionscript представлены три основных типа числовых значений. Самое интересное, что многие флешеры не совсем понимают разницу между ними:
Number - число с плавающей точкой, с размером в 64 бита, на целую часть может приходиться до 53 бит;
int - 32-разрядное целое число со знаком (значения -2147483648 (-2 в степени 31) до 2147483647 (2 в степени 31 -1));
uint - 32-разрядное число без знака (значения 0 до 4294967295 (2 в степени 32 - 1));
При инициализации int и uint значение переменной равно 0. То есть можно писать так:
int x;
вместо:
int x = 0;
а вот Number при инициализации дает только null.
Для счетчиков или каких то целых действий лучше использовать uint или int, это будет сокращать расход памяти в два раза.
Так же если переменная будет иметь тип int все ее значения будут целочисленными, даже после такого:
int/*uint*/ x = 1/2;
Но будьте осторожны с использованием uint в счетчиках, он не может быть меньше 0:
uint x;
while( x >= 0)
{
x--;
} //этот цикл никогда не завершится;
Также почему то принять для хранения цветов с альфа каналом (0xFFFFFFFF) использоваться Number, потому что не хватает значений у int, но зато у uint вполне хватает диапазона, для таких чисел.
Теги:
actionscript,
int,
number,
uint
Подписаться на:
Комментарии к сообщению (Atom)
Выбор влияет ещё и на быстродействие.
ОтветитьУдалитьВот хорошая статья:
http://gskinner.com/blog/archives/2006/06/types_in_as3_in.html
В двух словах – гуру рекомендует использование int свести к минимуму, а про uint вообще забыть.
Это статья от 2006 года, не уверен, что она объективна на сегодняшний день, я руководствовался в написании доками adoba и его инструкцией по оптимизации. Хотя зная adobe не уверен, что и она актуальна. Мой пост говорит об аналогах того что есть, выбор остается за каждым свой. Но народ должен знать!
ОтветитьУдалить