Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Работа с массивом. Рандомное число (http://www.flasher.ru/forum/showthread.php?t=170420)

etc 24.10.2011 17:52

Все дело в том, что в случае с round, выпадение крайних значений вероятно лишь в диапазоне длиной 0.5, в отличие от остальных значений. В случае же с int диапазон равен единице на всех значениях.

GBee 24.10.2011 17:57

int как floor работает получается?

etc 24.10.2011 18:00

Ну в общем-то да. Т. е. тут неважно, int/floor.

gloomyBrain 24.10.2011 18:53

Для положительных - как floor, для отрицательных как ceil. int округляет в сторону нуля, а не вверх или вниз

etc 24.10.2011 18:56

Ах, ну да, он просто обрезает дробную часть.

Silicium 24.10.2011 21:22

есть еще метод Math.floor(); - с ним все в порядке)

goodguy 24.10.2011 21:25

а выше не о нем говорили? )
int быстрее, и для положительных чисел предпочтительнее.
Тут недавно кто-то даже измерениями занимался, и разница в скорости оказалась довольно существенной

smithy 24.10.2011 21:42

Цитата:

Сообщение от goodguy (Сообщение 1041693)
int быстрее, и для положительных чисел предпочтительнее.

Скажу больше, вот это
Код AS3:

value= int(number);
if ( value < 0 ) value--;

будет чуть-чуть быстрее чем Math.floor().

olexandr 25.10.2011 00:00

объясните этот момент
насколько я понимаю int(Math.random() * _arr.length)с небольшой вероятностью ведь может выдать и сам _arr.length. Math.random() ведь генерит от 0 до 1 включительно?

Inet_PC 25.10.2011 00:08

Math.random возвращает от 0,включительно до 1, не включая ёе, а int, обрезает дробную часть.


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

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