Os Operadores MikroC

Embed Size (px)

DESCRIPTION

Parte 11

Citation preview

  • Centro de Tecnologia Microgenios - Todos os direitos reservados

    Clique aqui para Imprimir o doc umento

    Os Operadores

    1.0 Os operadores Aritmticos:

    1.1 Adio e Subtrao

    1.2 Multiplicao e Diviso

    1.3 O operador %

    1.4 O operador de Incremento ++ e decremento --:

    1.5 Operadores Relacionais;

    1.6 Operadores lgicos ou Booleanos

    1.7 Os operadores Bit a Bit

    1.8 O Operador AND (E)

    1.9 O Operador OR (|)

    2.0 O Operador XOR (^)

    2.1 O Operador NOT (~)

    2.2 O Operador de deslocamento >

    Tipos de Operadores

    A linguagem C faz uso de diversos operadores. Podemos classifica-los em algumas

    categoria principais: artmticos, relacionais, lgicos, lgicos bit a bit , outros.

    Os operadores Aritmticos:

    Os operadores aritmticos so utilizados para efetuar determinadas operaes

    matemticas entre dados e so classificados em duas categorias, sendo binrio ou

    unrio. Os operadores binrios atuam em operaes de exponenciao, diviso, adio e

  • subtrao. Os unrios atua na inverso de valores, atribuindo o sinal de positivo ou

    negativo.

    operador ao

    + adio

    - subtrao ou

    menos unrio

    * Multiplicao

    / Diviso

    % Resto da diviso

    inteira

    ++ incremento

    -- Decremento

    voltar para o topo da pagina

    Adio e Subtrao

    Os operadores de adio e subtrao so muito simples de serem utilizados,

    acompanhe:

    c = a + b;

    d = d + b;

    c = c - a;

    a = d - a + c;

    voltar para o topo da pagina

    Multiplicao e Diviso

    Os operadores de multiplicao e de diviso, em C, so de fcil assimilao;

    c = a * b;

    d = d * d;

    c = c / a;

    a = (d * a) / c;

    voltar para o topo da pagina

    O operador %

    O operador % utilizado para retornar o resto de uma operao de diviso inteira.

    Vejamos um exemplo:

  • 7 / 3 = 2, em uma diviso inteira, sendo o resto igual a 1.

    Assim, o valor de 7 / 3 = 2 e o valor de 7 % 3 = 1.

    voltar para o topo da pagina

    O operador de Incremento ++ e decremento --:

    O operador de incremento e decrevemento so utilizados para somar 1 ou subtrair 1 de

    uma varivel. Exemplo:

    C = C + 1;

    No exemplo acima a varivel C foi incrementada em 1 unidade. Podemos ter o mesmo

    resultado da operao acima atravs do operador de incremento ++ que termos o mesmo

    resultado;

    C++; (equivale a c = c + 1;)

    c ++; //incrementa em 1 unidade o valor da varivel C d--; //incrementa em 1 unidade o valor da varivel D

    Acompanhe o exemplo abaixo:

    variavel _a = variavel_b ++;

    Observe que o valor da varivel variavel _b atribuido a varivel variavel

    _a, e logo aps isso, o valor de variavel _b incrementado em 1 unidade:

    Isso tambm vlido para o comando de decremento --.

    variavel _a = variavel_b --;

    Observe que o valor da varivel variavel _b atribuido a varivel variavel

    _a, e logo aps isso, o valor de variavel _b decrementado em 1 unidade:

    Devemos tomar alguns cuidados em C com relao aos operadores de incremento e

    decremento: vejam;

    variavel _a = variavel_b ++;

    diferente de

    variavel _a = ++ variavel_b;

  • Note que no primeira linha de comando, variavel_b incrementada em 1 depois

    que atribuiu seu valor a varivel variavel _a. Na segunda linha, o valor da

    variavel_b incrementada em 1 antes de atribuir seu valo a varivel variavel _a.

    Vejamos um exemplo:

    int a, b, c;

    a = 0;

    b = a ++;

    c = ++ a;

    Neste caso, aps a execuo dos trs comandos, o valor de "a" ser igual a 2, o valor da

    varivel "b" ser igual a 0 e o valor da varivel "c" ser igual a 2.

    voltar para o topo da pagina

    Operadores Relacionais;

    Os operadores relacionais servem para comparar expresses. So muito utilizado para

    comparar condies de controle do fluxo de execuo de programas.

    operador Operao

    realizada

    > maior que

    >= maior ou igual a

    < menor que

  • ! NOT (NO)

    Com esses operadores podemos relacionar diversas condies diferentes em um mesmo

    teste lgico.

    if (c = 10 && b = 5) c = 5; // condio verdadeira de teste: se a varivel "c" for igual a

    10 e a varivel b = 5 ento "c" assumir o valor 5.

    if (c>0 || a==0) b = a; // condio verdadeira de teste: se a varivel "c" for maior que 0

    ou a for igual a 0 ento "b" igual a varivel "a".

    if (!a) b = c; // condio verdadeira de teste: se a varivel "a" for igual a 0, a varivel

    "b" assumir o valor da varivel "c". Note que estamos utilizando o operador de

    negao "!" NOT, por esse motivo a varivel "a" assumir o valor verdadeiro, j que

    possui valor 0.

    voltar para o topo da pagina

    Os operadores Bit a Bit

    Os operadores Bit a Bit so utilizados para realizar operaes lgicas entre elementos

    ou variveis.

    operador Operao

    realizada

    & AND (E)

    | OR (OU)

    ^ XOR (OU

    exclusiva)

    ~

    NOT

    (complemento de

    um)

    >> deslocamento

    direita

  • int a, b;

    a = 125;

    b = 28;

    a = a & b;

    A operao AND ocorrer da seguinte maneira:

    a = 100 ----> 01100100 AND (&) b = 28 ----> 00011100 ___________________

    Resultado= 00000100 //ou 4 decimal

    voltar para o topo da pagina

    O Operador OR (|)

    O operador OR muito similar ao operador AND, sua operao tambm realizada

    para cada bit do operando. Exemplo:

    int a, b;

    a = 125;

    b = 28;

    a = a | b;

    A operao OR ocorrer da seguinte maneira:

    a = 100 ----> 01100100 OR (|) b = 28 ----> 00011100 ___________________

    Resultado= 01111100 //ou 124 decimal

    voltar para o topo da pagina

    O Operador XOR (^)

    O operador XOR so muito utilizado em funes de comparao de valores, pois em

    uma operao lgica, o resultado somente ser verdadeiro (nvel lgico 1) se um e

    somente um deles for verdadeiro ( nvel 1). Exemplo:

    int a, b;

    a = 125;

    b = 28;

    a = a ^ b;

  • A operao OR ocorrer da seguinte maneira:

    a = 100 ----> 01100100 XOR (^) b = 28 ----> 00011100 ___________________

    Resultado= 01111000 //ou 120 decimal

    voltar para o topo da pagina

    O Operador NOT (~)

    O operador NOT inverte o estado de cada bit do operando em uma operao. Exemplo:

    int a, b, c;

    a = 1;

    b = 1;

    b = ~a

    c = ~b

    A operao OR ocorrer da seguinte maneira:

    a = 0B00000001; NOT de "a" ----> 0b11111110; b = 0b00000001; NOT de "b" ----> 0b11111110;

    voltar para o topo da pagina

    O Operador de deslocamento >

    O operador >> desloca para a direita os bits de uma varivel um determinado nmero de

    vezes. exemplo:

    int a, b, c;

    a = 10;

    b = 10;

    b = a >> 1;

    c = b 00001010 - valor 10 em binrio

    >>

  • // ----> 00000101 - valor 5 em binrio

    Observe que o valor aps deslocamento passa a ser agora 5 em binrio.

    A descrio do operador (>>), deslocamento direita, anloga ao operador

    deslocamento esquerda (>>), com ressalva de que os bits sero deslocados esquerda.

    voltar para o topo da pagina

    Centro de Tecnologia Microgenios - Curso de Microcontroladores PIC - Programao

    em C

    Microgenios 1998 - 2008. Todos os direitos reservados. proibido cpia parcial ou

    integral desse material sem prvio aviso. Maiores informaes:

    [email protected]