... ...

Introdução aos Operadores

Os operadores realizam, como o nome sugere, operações entre dois tipos de dados. Existem muitos operadores, mas citaremos aqui os fundamentais e, conforme as necessidades dos tópicos posteriores, citaremos todos os demais.

Você pode ver a lista completa de operadores de C++ em C++ Reference (em inglês).

Operadores aritméticos

Operadores aritméticos são utilizados para efetuar operações matemáticas entre dados. São 5 operadores aritméticos em C++:

#include <iostream> using namespace std;  int main() {  int soma = 5 + 5; // o operador '+' realiza somas. double subtracao = 5 - 5; // o operador '-' efetua subtração. float multiplicacao = 5.1 * 0.5; // o operador '*' efetua multiplicação. char divisao = 100 / 2; // o operador '/' efetua divisão. int modulo = 51 % 5; // retorna o resto da divisão inteira.  cout << "Resultados: " << soma << ", " << subtracao << ", " << multiplicacao << ", "      << divisao << ", " << modulo << endl;  } A saída desse programa gera no console o seguinte: <source lang=cpp> Resultados: 10, 0, 2.55, 2, 10. 

O quarto resultado é '2' pois 50 é o código decimal deste caracter.

Tipo de retorno

Você pode realizar operações aritméticas, obviamente, entre números. Como dito no tópico anterior, você também pode realizar operações aritméticas com os tipos char e wchar_t.

O retorno da operação será também um número (real, inteiro ou até mesmo um caracter, conforme os tipos dos operandos).

Divisão inteira e divisão real

Existe, para a linguagem, diferença entre uma divisão entre números inteiros e entre números reais (ponto flutuante). Se você fizer a divisão entre os inteiros 3 e 2, o resultado não será 1.5, será 1. Já se fizer a divisão entre os números reais (em ponto flutuante) dos deles, então sim obterá 1.5.

O motivo é que há 2 tipos de divisão: a inteira e a decimal.

Divisão inteira e o operador módulo

A divisão inteira retorna o quociente da divisão sem a parte fracionária. Isso ocorre porque a linguagem efetua a divisão enquanto o resto for maior que o divisor (logo, a divisão nunca apresentará parte fracionária).

Para obter o resto da divisão, você pode usar o operador módulo (%). Esse operador retorna, em vez do quociente, o resto da divisão inteira. É por isso que no nosso exemplo 51 % 5 resultou em 1, pois 5x10 + 1 = 51, onde 5 é o divisor, 10 é o quociente, 1 é o resto e 51 o dividendo.

Divisão real

A divisão real é aquela efetuada entre tipos ponto flutuante ou entre ponto flutuante e inteiros/caracteres. Isso efetuará a divisão até que o resto seja zero, ou quando o resto repetir-se indefinidamente (no caso de dízimas periódicas como, por exemplo, 10/3).

Se quisermos que a divisão entre inteiros retorne a divisão real, deveremos efetuar uma conversão explícita, conforme o exemplo:

int num = 3; int num2 = 2;  cout << "Resultado: " << (float) num/num2 << endl; // o resultado foi convertido para ponto flutuante explicitamente. 




  Go to top  

This article is issued from web site Wikiversity. The original article may be a bit shortened or modified. Some links may have been modified. The text is licensed under "Creative Commons - Attribution - Sharealike" [1] and some of the text can also be licensed under the terms of the "GNU Free Documentation License" [2]. Additional terms may apply for the media files. By using this site, you agree to our Legal pages [3] [4] [5] [6] [7]. Web links: [1] [2]