A linguagem C disponibiliza cinco operadores aritméticos binários.
- (+) soma
- (-) subtração
- (*) multiplicação
- (/) divisão
- (%) resto de uma divisão entre inteiros
Os operadores binários recebem esse nome porque necessitam de dois operandos para que a operação exista.
x = a + b;
Nem todas as operações são binárias. A linguagem C disponibiliza a operação menos unário, a qual necessita somente de um operando para existir.
x = -a;
O menos unário é equivalente a multiplicação por -1. Estere aí! Na multiplicação por -1 não estamos empregando o menos unário no operando 1. Olhe o código abaixo e conclua!
x = -1 * a;
Todas as operações são aplicadas a números inteiros e de ponto flutuante, com exeção do resto.
O conceito de resto de uma divisão só existe quando falamos em números inteiros, portanto o operador % exige que seus operandos sejam do tipo int ou char.
De todas as operações, a mais ingrata é a divisão.
Você é capaz de responder o que será impresso pelo seguinte código?
001: #include <stdio.h>
002: #include <stdlib.h>
003:
004: int main(int argc, char *argv[])
005: {
006: int a = 5, b = 2;
007: float c;
008: c = a/b;
009: printf("O resultado da divisao e: %f", c);
010: system("PAUSE");
011: return 0;
012: }
Se você pensou em 2.5, você pensou errado! O resultado é 2.0. Na linguagem C, a divisão entre dois inteiros, resulta em resultado inteiro, portando o resultado da divisão entre cinco e dois, é dois.
Se a sua intensão é apresentar o resultado real da divisão então, ao menos um dos operados deverá ser de ponto flutuante. Para isso recorro a utilização do cast que faz a conversão momentânea do dado.
001: #include <stdio.h>
002: #include <stdlib.h>
003:
004: int main(int argc, char *argv[])
005: {
006: int a = 5, b = 2;
007: float c;
008: c = (float)a/b;
009: printf("O resultado da divisao e: %f", c);
010: system("PAUSE");
011: return 0;
012: }
Você pode ver a utilização do cast (float) na linha 8. Isso transforma o dado da variável a em float então este dado é dividido por 2. O resultado dessa operação é o 2.5.
Em resumo, os operadores aritméticos são tranqüilos de usar. O cuidado maior está sempre na divisão.
0 comentários:
Postar um comentário