Форум 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=206877)

Digital 11.03.2014 13:35

Целочисленное деление
 
Есть во флеше оператор целочисленного деления? Ну 10 оператор 3 = 3

Добавлено через 33 секунды
Либо только 10/3-10%3

alatar 11.03.2014 14:20

Код AS3:

int(10/3)


tsarapkabel 11.03.2014 14:20

uint(10 / 3)

MikroAcse 11.03.2014 17:54

unit такая не стабильная вещь.
При минусовых значениях начинается ад.
Я его использую только для шестандцатеричной записи цветов.

caseyryan 11.03.2014 22:01

Цитата:

unit такая не стабильная вещь.
Он абсолютно стабилен. Просто надо понимать для чего он нужен, как в нем хранятся байты числа и как его использовать.
Цитата:

При минусовых значениях начинается ад.
В нем не может быть отрицательных чисел. Отрицательное число это всегда число со знаком минус. А uint расшифровывается как unsigned integer
(беззнаковое целое). В нем само название говорит о том, что там не может быть знака

KumoKairo 11.03.2014 22:12

Про uint хоть на цитаты разбирай :D
Я кстати помню в какой-то книжке по программированию горе переводчик перевел unsigned int как "неподписанное целое" (написано было про это в комментариях к книжке).

Добавлю свои пять копеек, помимо приведения к int есть способ выбирать направление округления и возвращаемый тип числа.
Math.ceil(...) округляет до ближайшего целого в сторону увеличения, например 10 / 3 он округлит до 4х
Math.floor(...) напротив, округлит до ближайшего целого в сторону уменьшения, 10 / 3 = 3
Math.round(...) просто округлит число по правилам, 10/3 = 3. Разница с приведением к int заключается в том, что вам возвращается число типа Number, а не int.
Все эти методы возвращают число типа Number, не путайтесь.

caseyryan 11.03.2014 22:22

Цитата:

горе переводчик перевел unsigned int как "неподписанное целое"
Да таких случаев полно. Просто переводчики в большинстве случаев сами не в теме. Если в тематику не вдаваться, перевел-то он правильно (то есть подобрал наиболее распространенный вариант перевода), но многих это в заблуждение введет. Поэтому я книжки всегда читаю в оригинале.

MikroAcse 11.03.2014 22:57

Насколько я знаю, если дать юинту отрицательно число, то конвертация произойдет так:
Код AS3:

myUint = uint.MAX_VALUE - myUint;

Поправьте, если не прав. Не хочу давать дурные советы или неправильные ответы.

UPD: поправлено.

KumoKairo 11.03.2014 23:09

Даже по простой логике, как может быть максимальное возможное число uint быть максимальным числом int, если и тот и другой тип занимают по 32 бита? Один объем памяти, разный диапазон значений.

Пожалуйста, прочитайте хотя бы документацию по int и uint.

MikroAcse 12.03.2014 00:46

Да-да. Это я поспешил. Но я про саму суть говорю.
В общем, зря я сюда влез :)


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

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