Files
archived-doc-pt-br/language/operators/arithmetic.xml
Leonardo Lara Rodrigues b1992407db sync with en rev
2025-04-10 11:21:28 -03:00

115 lines
3.4 KiB
XML

<?xml version="1.0" encoding="utf-8"?><!-- EN-Revision: 16934048f79c6e117cd16a23c09c1b2ea502e284 Maintainer: leonardolara Status: ready --><!-- CREDITS: ae, leonardolara -->
<sect1 xml:id="language.operators.arithmetic">
<title>Operadores Aritméticos</title>
<titleabbrev>Aritméticos</titleabbrev>
<simpara>
Lembra-se da aritmética básica da escola? Estes operadores funcionam
exatamente como aqueles.
</simpara>
<table>
<title>Operadores Aritméticos</title>
<tgroup cols="3">
<thead>
<row>
<entry>Exemplo</entry>
<entry>Nome</entry>
<entry>Resultado</entry>
</row>
</thead>
<tbody>
<row>
<entry><code>+$a</code></entry>
<entry>Identidade</entry>
<entry>
Conversão de <varname>$a</varname> para <type>int</type> ou
<type>float</type> conforme apropriado.
</entry>
</row>
<row>
<entry><code>-$a</code></entry>
<entry>Negativação</entry>
<entry>Oposto de <varname>$a</varname>.</entry>
</row>
<row>
<entry><code>$a + $b</code></entry>
<entry>Adição</entry>
<entry>Soma de <varname>$a</varname> e <varname>$b</varname>.</entry>
</row>
<row>
<entry><code>$a - $b</code></entry>
<entry>Subtração</entry>
<entry>Diferença entre <varname>$a</varname> e <varname>$b</varname>.</entry>
</row>
<row>
<entry><code>$a * $b</code></entry>
<entry>Multiplicação</entry>
<entry>Produto de <varname>$a</varname> e <varname>$b</varname>.</entry>
</row>
<row>
<entry><code>$a / $b</code></entry>
<entry>Divisão</entry>
<entry>Quociente de <varname>$a</varname> e <varname>$b</varname>.</entry>
</row>
<row>
<entry><code>$a % $b</code></entry>
<entry>Resto</entry>
<entry>Resto de <varname>$a</varname> dividido por <varname>$b</varname>.</entry>
</row>
<row>
<entry><code>$a ** $b</code></entry>
<entry>Exponenciação</entry>
<entry>Resultado de <varname>$a</varname> elevado à potência de <varname>$b</varname>.</entry>
</row>
</tbody>
</tgroup>
</table>
<simpara>
O operador de divisão <literal>/</literal> retorna um valor <type>float</type>,
a não ser que os dois operandos sejam <type>int</type> (ou
<link linkend="language.types.numeric-strings">strings numéricas</link>
que são convertidas para <type>int</type>) e o numerador seja um múltiplo
do divisor, neste caso será retornado um valor inteiro.
Para divisão de inteiros, consulte <function>intdiv</function>.
</simpara>
<simpara>
Operandos da operação de resto de divisão são convertidos para <type>int</type>
antes do processamento. Para restos de divisão de números em ponto flutuante, veja
<function>fmod</function>.
</simpara>
<para>
O resultado do operador de resto <literal>%</literal> tem o mesmo sinal
do dividendo — ou seja, o resultado de <code>$a % $b</code>
terá o mesmo sinal de <varname>$a</varname>. Exemplos:
<example>
<title>O Operador de Resto</title>
<programlisting role="php">
<![CDATA[
<?php
var_dump(5 % 3);
var_dump(5 % -3);
var_dump(-5 % 3);
var_dump(-5 % -3);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
int(2)
int(2)
int(-2)
int(-2)
]]>
</screen>
</example>
</para>
<sect2 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><link linkend="ref.math">Funções matemáticas</link></member>
</simplelist>
</para>
</sect2>
</sect1>