Pular para o conteúdo principal

Números

  • A divisão de inteiros trunca: 7 / 2 é 3. Faça de um dos lados um Real para obter um resultado fracionário: 7 / 2.0 ou n * 1.0 / d.
  • Resto: não há %. MathMod(n, d) assume o sinal do divisor, então MathMod(-30, 360) é 330 (o que se quer ao ajustar um ângulo ou um índice para dentro do intervalo). Para o resto de C, com o sinal de n, use n - (n / d) * d.
  • Dividir por zero produz 0 e não interrompe o script. Teste o divisor você mesmo se 0 for uma resposta enganosa.
  • Um Integer vira Real quando uma função interna declara Real. MathSqrt(16) é MathSqrt(16.0). O contrário nunca acontece: um Real passado onde um Integer é declarado interrompe a ação com o argumento 1 tem o tipo errado, então arredonde-o antes com MathRound, MathFloor ou MathCeil.
  • MathAbs, MathMin, MathMax, MathClamp e MathMod aceitam os dois tipos e retornam o argumento vencedor com o seu próprio tipo (MathMod: Integer somente quando os dois são). Em caso de empate, retornam o primeiro argumento. MathAtan2(y, x) aceita os dois tipos e retorna um Real.
  • MathRandom(min, max) inclui as duas extremidades e interrompe a ação se min > max.
  • As funções internas Math nunca retornam NaN nem infinito. Uma função interna Math que recebe um deles, ou que não tem resposta finita, retorna 0 (0.0 quando o resultado é um Real): MathSqrt de um número negativo, MathLog de zero ou menos, um resultado de MathPow que não é finito, MathFloor, MathCeil ou MathRound de NaN. MathFloor, MathCeil e MathRound de um valor finito além do intervalo de Integer produzem o maior ou o menor Integer.
  • Resultados Real aparecem com seis casas decimais quando convertidos em Text. Arredonde para exibir.
  • A trigonometria trabalha em radianos: rad = deg * MathGetPi() / 180.
  • A aritmética de inteiros que ultrapassa ±9,2 × 10¹⁸ dá a volta para a outra ponta do intervalo: o maior Integer mais um é o menor. Não há erro. Mantenha os valores dentro do intervalo.