gavmac00/arduino-docs huggingface dataset:
>=
          [Comparison Operators]
          
Descrição
Compara a variável à esquerda com o valor ou variável à direita do operador. Retorna verdadeiro (true) quando o operando à esquerda é maior ou igual ao operando à direita. Por favor note que você pode comparar variáveis de tipos de dados diferentes, mas isso pode gerar resultados imprevisíveis. Por isso é recomendado comparar variáveis do mesmo tipo de dados incluindo o atributo signed/unsigned.
Sintaxe
x >= y; // é verdadeiro se x é maior ou igual a y e é falso se x é menor que y
Parâmetros
x: variável. Tipos de dados permitidos: int, float, double, byte, short, long
y: variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Comparison operators
            > Notequalto
          
!=
          [Comparison Operators]
          
Descrição
!=
          [Comparison Operators]
          
Descrição
Compara a variável à esquerda com o valor ou variável à direita do operador. Retorna verdadeiro (true) quando os operandos não são iguais. Por favor note que você pode comparar variáveis de tipos de dados diferentes, mas isso pode gerar resultados imprevisíveis. Por isso é recomendado comparar variáveis do mesmo tipo de dados incluindo o atributo signed/unsigned.
Sintaxe
x != y; // é falso se x é igual a y e é verdadeiro se x não é igual a y
Parâmetros
x: variável. Tipos de dados permitidos: int, float, double, byte, short, long
y: variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long
Código de Exemplo
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Pointer access operators
            > Dereference
          
*
          [Pointer Access Operators]
          
Descrição
*
          [Pointer Access Operators]
          
Descrição
Desreferência é uma das características da linguagem C para uso especificamente com ponteiros. O operador * (asterisco) é utilizado para esse propósito. Se p é um ponteiro, então *p representa o valor contido no endereço apontado por p.
Código de Exemplo
int *p;         // declara um ponteiro para uma variável do tipo int
int i = 5;
int resultado = 0;
p = &i;         // agora 'p' contém o endereço de 'i'
resultado = *p; // 'resultado' recebe o valor contido no endereço apontado por 'p'
                // isto é, recebe o valor de 'i', que é 5
Notas e Advertências
Notas e Advertências
Ponteiros são um dos assuntos mais complicados para iniciantes na linguagem C aprenderem, e é possível escrever a grande maioria dos sketches Arduino sem nunca encontrar ponteiros. No entanto, para manipular certas estruturas de dados, o uso de ponteiros pode simplificar o código. O conhecimento da manipulação de ponteiros é vantajoso de se ter no seu kit de ferramentas.
Ver Também
DEFINIÇÃO Ponteiros
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Pointer access operators
            > Reference
          
&
          [Pointer Access Operators]
          
Descrição
> Reference
          
&
          [Pointer Access Operators]
          
Descrição
Referência é uma das características da linguagem C para uso especificamente com ponteiros. O operador & ('e' comercial ou ampersand) é utilizado para esse propósito. Se x é uma variável, então &x representa o endereço da variável x.
Código de Exemplo
int *p;         // declara um ponteiro para uma variável do tipo int
int i = 5, resultado = 0;
p = &i;         // agora 'p' contém o endereço de 'i'
resultado = *p; // 'resultado' recebe o valor contido no endereço apontado por 'p'
                // isto é, recebe o valor de 'i', que é 5
Notas e Advertências
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Compound operators
            > Compounddivision
          
/=
          [Compound Operators]
          
Descrição
> Compounddivision
          
/=
          [Compound Operators]
          
Descrição
Essa é uma abreviação conveniente para realizar a divisão de uma variável com outra variável ou constante.
Sintaxe
x /= y; // equivalente a expressão x = x / y;
Parâmetros
x: variável. Tipos de dados permitidos: int, float, double, byte, short, long
y: variável ou constante diferente de zero. Tipos de dados permitidos: int, float, double, byte, short, long
Código de Exemplo
x = 2;
x /= 2; // x agora contém 1
Ver Também
LINGUAGEM Divisão comum
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Compound operators
            > Compoundmultiplication
          
*=
          [Compound Operators]
          
Descrição
*=
          [Compound Operators]
          
Descrição
Essa é uma abreviação conveniente para realizar a multiplicação de uma variável com outra variável ou constante.
Sintaxe
x *= y; // equivalente a expressão x = x * y;
Parâmetros
x: variável. Tipos de dados permitidos: int, float, double, byte, short, long
y: variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long
Código de Exemplo
x = 2;
x *= 2; // x agora contém 4
Ver Também
LINGUAGEM Multiplicação comum
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Compound operators
            > Compoundremainder
          
%=
          [Compound Operators]
          
Descrição
> Compoundremainder
          
%=
          [Compound Operators]
          
Descrição
Esse é um atalho conveniente para calcular o resto quando um inteiro é dividido por outro e atribuí-lo de volta a variável na qual foi feita o cálculo.
Sintaxe
x %= divisor;   // equivalente a expressão x = x % divisor;
Parâmetros
x: variável. Tipos de dados permitidos: int
divisor: variável or constante não zero. Tipos de dados permitidos: int
Código de Exemplo
int x = 7;
x %= 5;    // x agora contém 2
Notas e Advertências
O operador de atribuição de resto não funciona em floats.
Se o primeiro operando é negativo, o resultado é negativo (ou zero).
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Compound operators
            > Compoundbitwiseor
          
|=
          [Compound Operators]
          
Descrição
|=
          [Compound Operators]
          
Descrição
O operador de atribuição composta bitwise OU  |= é frequentemente usado com uma variável e uma constante para "setar" (mudar pra 1) bits particulares em uma variável.
Uma revisão do operador bitwise OU |:
0  0  1  1    operando1
0  1  0  1    operando2
----------
0  1  1  1    (operando1 | operando2) - resultado retornado
Sintaxe
x |= y; // equivalente a x = x | y;
Parâmetros
x: variável. Tipos de dados permitidos: char, int, long
y: variável ou constante. Tipos de dados permitidos: char, int, long
Código de Exemplo
Código de Exemplo
Bits que são operados através do OU com 0 não são mudados, então se meuByte é uma variável byte:
meuByte | B00000000 = meuByte;
Bits que são operados através do OU com 1 são mudados para 1, então:
meuByte | B11111111 = B11111111;
Notas e Advertências
Porque estamos lidando com bits em um operador bitwise, é conveniente usar o modificador binário com constantes na representação. Os números ainda são os mesmos em outras representações, só não são tão fáceis de entender. Também, B00000000 é mostrado para claridade, mas zero em qualquer outro formato é zero.
Consequentemente - para setar os bits 0 e 1 de um variável, ao mesmo tempo deixando o resto da variável intocado, useo o operador de atribuição por bitwise OU  (|=) com a constante B00000011
1  0  1  0  1  0  1  0    variável
0  0  0  0  0  0  1  1    máscara
----------------------
1  0  1  0  1  0  1  1
bits intactos
                 bits mudados para 1
Abaixo a mesma representação com os bits da variável substituidos pelo símbolo x
x  x  x  x  x  x  x  x    variável
x  x  x  x  x  x  x  x    variável
0  0  0  0  0  0  1  1    máscara
----------------------
x  x  x  x  x  x  1  1
bits intactos
                 bits mudados para 1
Então:
meuByte = B10101010;
meuByte |= B00000011; // igual a B10101011;
Ver Também
LINGUAGEM | Bitwise OU
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Compound operators
            > Compoundbitwiseand
          
&=
          [Compound Operators]
          
Descrição
&=
          [Compound Operators]
          
Descrição
O operador de atribuição composta E &= é frequentemente usado com uma variável e uma constante para forçar detreminados bits de uma variável para 0. Isso é  frequentemente chamado de "limpar" ou "resetar" os bits.
Uma revisão do operator bitwise E &:
0  0  1  1    operando1
0  1  0  1    operando2
----------
0  0  0  1    (operando1 & operando2) - resultado retornado
Sintaxe
x &= y; // equivalente a x = x & y;
Parâmetros
x: variável. Tipos de dados permitidos: char, int, long
x: variável. Tipos de dados permitidos: char, int, long
y: variável ou constante. Tipos de dados permitidos: char, int, long
Código de Exemplo
Bits que são operados através do E com 0 são limpos, então se meuByte é uma variável byte:,
meuByte & B00000000 = 0;
Bits que são operados através do E com 1 não são mudados, então se meuByte é uma variável byte:
meuByte & B11111111 = meuByte;
Notas e Advertências
meuByte & B11111111 = meuByte;
Notas e Advertências
Porque estamos lidando com bits em um operador bitwise, é conveniente usar o modificador binário com constantes na representação. Os números ainda são os mesmos em outras representações, só não são tão fáceis de entender. Também, B00000000 é mostrado para claridade, mas zero em qualquer outro formato é zero.
Consequentemente - para limpar os bits 0 e 1 de um variável, ao mesmo tempo deixando o resto da variável intocado, useo o operador de atribuição por bitwise E  (&=) com a constante B11111100
1  0  1  0  1  0  1  0    variável
1  1  1  1  1  1  0  0    máscara
----------------------
1  0  1  0  1  0  0  0
bits intactos
                 bits limpos
Abaixo a mesma representação com os bits da variável substituidos pelo símbolo x
x  x  x  x  x  x  x  x    variável
1  1  1  1  1  1  0  0    máscara
----------------------
x  x  x  x  x  x  0  0
bits intactos
                 bits limpos
Então:
myByte = B10101010;
myByte &= B11111100;  // resulta em B10101000
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Compound operators
            > Increment
          
++
          [Compound Operators]
          
Descrição
Incrementa o valor de uma variável em 1.
Sintaxe
Descrição
Incrementa o valor de uma variável em 1.
Sintaxe
x++;  // incrementa x em um e retorna o valor antigo de x
++x;  // incrementa x em um e retorna o novo valor de x
Parâmetros
x: variável. Tipos de dados permitidos: integer, long (possivelmente unsigned)
Retorna
O valor original ou incrementado da variável, que depende se o operador está à esquerda ou direita da variável.
Código de Exemplo
x = 2;
y = ++x;  // x agora contém 3, y contém 3
y = x++;  // x contém 4, mas y ainda contém 3
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Compound operators
            > Compoundsubtraction
          
-=
          [Compound Operators]
          
Descrição
-=
          [Compound Operators]
          
Descrição
Essa é uma abreviação conveniente para realizar a subtração de uma variável com outra variável ou constante.
Sintaxe
x -= y; // equivalente a expressão x = x - y;
Parâmetros
x: variável. Tipos de dados permitidos: int, float, double, byte, short, long
y: variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long
Código de Exemplo
x = 20;
x -= 2; // x agora contém 18
Ver Também
LINGUAGEM Subtração comum
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Compound operators
            > Compoundbitwisexor
          
^=
          [Compound Operators]
          
Descrição
^=
          [Compound Operators]
          
Descrição
O operador de atribuição composta bitwise OU EXCLUSIVO ^= é frequentemente usado com uma variável e uma constante para "inverter" (ou trocar) bits particulares de uma variável.
Uma revisão do operador bitwise OU EXCLUSIVO ^:
0  0  1  1    operando1
0  1  0  1    operando2
----------
0  1  1  0    (operando1 ^ operando2) - resultado retornado
Sintaxe
x ^= y; // equivalente a x = x ^ y;
Parâmetros
x: variável. Tipos de dados permitidos: char, int, long
y: variável ou constante. Tipos de dados permitidos: char, int, long
Código de Exemplo
Bits que são operados através do OU OEXCLUSIVO com 0 não são mudados, então se meuByte é uma variável byte:
meuByte ^ B00000000 = meuByte;
Bits que são operados através do OU EXCLUSIVO com 1 são invertidos, então:
meuByte ^ B11111111 = ~meuByte;
Notas e Advertências
Porque estamos lidando com bits em um operador bitwise, é conveniente usar o modificador binário com constantes na representação. Os números ainda são os mesmos em outras representações, só não são tão fáceis de entender. Também, B00000000 é mostrado para claridade, mas zero em qualquer outro formato é zero.
Consequentemente, para inverter os bits 0 e 1 de um variável ao mesmo tempo, deixando o resto da variável intocado, use o operador de atribuição por bitwise OU EXCLUSIVO (^=) com a constante B00000011
1  0  1  0  1  0  1  0    variável
0  0  0  0  0  0  1  1    máscara
----------------------
1  0  1  0  1  0  0  1
bits intactos
                 bits invertidos
Abaixo a mesma representação com os bits da variável substituidos pelo símbolo x. ~x representa o complemento de x.
x  x  x  x  x  x  x  x    variável
x  x  x  x  x  x  x  x    variável
0  0  0  0  0  0  1  1    máscara
----------------------
x  x  x  x  x  x ~x ~x
bits intactos
                 bits invertidos
Então:
myByte = B10101010;
myByte ^= B00000011 == B10101001;
Ver Também
LINGUAGEM ^ OU EXCLUSIVO Bitwise
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Compound operators
            > Decrement
          
--
          [Compound Operators]
          
Descrição
Decrementa o valor de uma variável em 1.
Sintaxe
Decrementa o valor de uma variável em 1.
Sintaxe
x--;  // decrementa x em um e retorna o valor antigo de x
--x;  // decrementa x em um e retorna o novo valor de x
Parâmetros
x: variável. Tipos de dados permitidos: integer, long (possibly unsigned)
Retorna
O valor original ou decrementado da variável, que depende se o operador está à esquerda ou direita da variável.
Código de Exemplo
x = 2;
y = --x;  // x agora contém 1, y contém 1
y = x--;  // x contém 0, mas y ainda contém 1
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Compound operators
            > Compoundaddition
          
+=
          [Compound Operators]
          
Descrição
+=
          [Compound Operators]
          
Descrição
Essa é uma abreviação conveniente para realizar a adição de uma variável com outra variável ou constante.
Sintaxe
x += y; // equivalente a expressão x = x + y;
Parâmetros
x: variável. Tipos de dados permitidos: int, float, double, byte, short, long
y: variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long
Código de Exemplo
x = 2;
x += 4; // x agora contém 6
Ver Também
LINGUAGEM Adição comum
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Arithmetic operators
            > Modulo
          
%
          [Arithmetic Operators]
          
Descrição
%
          [Arithmetic Operators]
          
Descrição
A operação resto calcula o resto da divisão de um inteiro por outro. Esse operador também pode ser chamado de módulo. Apesar do nome, não confunda o operador módulo (%) da computação com o módulo da matemática ( |x| ), que na linguagem arduino é calculado através da função abs(). Esse operador é útil para manter uma variável dentro de um intervalo (ex. o tamanho de um vetor). O símbolo % (porcentagem) é usado para realizar a operação resto.
Sintaxe
resto = dividendo % divisor;
Parâmetros
resto : variável. Tipos de dados permitidos: int, float, double
dividendo : variável ou constante. Tipos de dados permitidos: int
dividendo : variável ou constante. Tipos de dados permitidos: int
divisor : variável ou constante diferente de zero. Tipos de dados permitidos: int
Código de Exemplo
int x = 0;
x = 7 % 5;    // x agora contém 2
x = 9 % 5;    // x agora contém 4
x = 5 % 5;    // x agora contém 0
x = 4 % 5;    // x agora contém 4
/* Atualiza um valor do vetor a cada vez em um loop */
int values[10];
int i = 0;
void setup() {}
void loop()
{
  values[i] = analogRead(0);
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Arithmetic operators
            > Addition
          
+
          [Arithmetic Operators]
          
Descrição
> Addition
          
+
          [Arithmetic Operators]
          
Descrição
Adição é uma das quatro operações ariméticas fundamentais. O operador + (mais) opera em dois operandos para produzir a soma dos mesmos.
Sintaxe
soma = operando1 + operando2;
Parâmetros
soma : variável. Tipos de dados permitidos: int, float, double, byte, short, long
operando1 : variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long
operando2 : variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long
Código de Exemplo
int a = 5;
int b = 10;
int c = 0;
int b = 10;
int c = 0;
c = a + b;  // A variável 'c' recebe o valor 15 depois que essa operação é executada
Notas e Advertências
O operação de adição pode causar overflow se o resultado é maior que o que pode ser armazenado no tipo de dado (ex. adicionar 1 a um int com valor 32,767 resulta em -32,768).
Se um dos números (operandos) é do tipo float ou double, a matemática de ponto flutuante será usada no cálculo.
Se os operandos são do tipo de dado float ou double e a variável que armazena a soma é int, então apenas a parte inteira é salva no resultado e e a parte racional é perdida.
float a = 5.5;
float b = 6.6;
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Arithmetic operators
            > Assignment
          
=
          [Arithmetic Operators]
          
Descrição
> Assignment
          
=
          [Arithmetic Operators]
          
Descrição
O sinal de igual = na linguagem de programação C++ é chamado operador de atribuição. Seu significado é diferente das aulas de matemática, onde ele indica uma equação ou igualdade. O operador de atribuição indica ao microcontrolador que compute qualquer valor ou expressão que estiver à direita do sinal de igual, e o armazene na variável à esquerda do sinal de igual.
Código de Exemplo
int sensVal;              // declara uma variável inteira chamada sensVal
sensVal = analogRead(0);  // armazena a tensão (digitalizada) do pino analógico 0 em SensVal
Notas e Advertências
Notas e Advertências
A variável à esquerda do operador de atribuição ( sinal = ) precisa ser um tipo de dado capaz de armazenar o resultado da operação. Se ela não for grande o suficiente para guardar o valor, o resultado armazenado será incorreto. Veja os tipos de dados da linguagem Arduino para mais informações sobre seu tamanho.
Não confunda o operador de atribuição [ = ] (sinal de igual único) com o operador de comparação [ == ] (sinal de igual duplo), o qual avalia se se duas expressões são iguais.
Ver Também
LINGUAGEM if (operadores condicionais)
LINGUAGEM char
LINGUAGEM int
LINGUAGEM long
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Arithmetic operators
            > Division
          
/
          [Arithmetic Operators]
          
Descrição
> Division
          
/
          [Arithmetic Operators]
          
Descrição
Divisão é uma das quatro operações aritméticas fundamentais. O operador / (barra) opera em dois operandos para produzir o resultado.
Sintaxe
resultado = numerador / denominador;
Parâmetros
resultado : variável. Tipos de dados permitidos: int, float, double, byte, short, long 
numerador : variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long 
denominador : variável ou constante diferente de zero. Tipos de dados permitidos: int, float, double, byte, short, long
Código de Exemplo
int a = 50;
int b = 10;
int c = 0;
int b = 10;
int c = 0;
c = a / b;  // A variável 'c' recebe o valor 5 depois que essa operação é executada
Notas e Advertências
Se um dos números (operandos) é do tipo float ou double, a matemática de ponto flutuante será usada no cálculo.
Se os operandos são do tipo de dado float ou double e a variável que armazena a divisão é int, então apenas a parte inteira é salva no resultado e a parte racional é perdida.
float a = 55.5;
float b = 6.6;
int c = 0;
c = a / b;  // a variável 'c' armazena o valor 8 em vez do resultado esperado 8.409
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Arithmetic operators
            > Multiplication
          
*
          [Arithmetic Operators]
          
Descrição
*
          [Arithmetic Operators]
          
Descrição
Multiplicação é uma das quatro operações aritméticas fundamentais. O operador * (asterisco) opera em dois operandos para produzir o produto.
Sintaxe
produto = operando1 * operando2;
Parâmetros
produto : variável. Tipos de dados permitidos: int, float, double, byte, short, long 
operando1 : variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long 
operando2 : variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long
Código de Exemplo
int a = 5;
int b = 10;
int c = 0;
int b = 10;
int c = 0;
c = a * b;  // A variável 'c' recebe o valor 50 depois que essa operação é executada
Notas e Advertências
O operação de multiplicação pode causar overflow se o resultado é maior que o que pode ser armazenado no tipo de dado.
Se um dos números (operandos) é do tipo float ou double, a matemática de ponto flutuante será usada no cálculo.
Se os operandos são do tipo de dado float ou double e a variável que armazena o produto é int, então apenas a parte inteira é salva no resultado e a parte racional é perdida.
float a = 5.5;
float b = 6.6;
int c = 0;
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Arithmetic operators
            > Subtraction
          
-
          [Arithmetic Operators]
          
Descrição
-
          [Arithmetic Operators]
          
Descrição
Subtração é uma das quatro operações aritméticas fundamentais. O operador - (menos) opera em dois operandos para produzir a diferença do segundo pelo primeiro.
Sintaxe
diferença = operando1 - operando2;
Parâmetros
diferença : variável. Tipos de dados permitidos: int, float, double, byte, short, long
operando1 : variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long
operando2 : variável ou constante. Tipos de dados permitidos: int, float, double, byte, short, long
Código de Exemplo
int a = 5;
int b = 10;
int c = 0;
int b = 10;
int c = 0;
c = a - b;  // A variável 'c' recebe o valor -5 depois que essa operação é executada
Notas e Advertências
O operação de subtração pode causar overflow se o resultado é menor que o que pode ser armazenado no tipo de dado (ex. subtrair 1 de um int com valor -32,768 resulta em 32,767).
Se um dos números (operandos) é do tipo float ou double, a matemática de ponto flutuante será usada no cálculo.
Se os operandos são do tipo de dado float ou double e a variável que armazena a diferença é int, então apenas a parte inteira é salva no resultado e a parte racional é perdida.
float a = 5.5;
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Sketch
            > Setup
          
setup()
          [Sketch]
          
Descrição
> Setup
          
setup()
          [Sketch]
          
Descrição
A função setup() é chamada quando um sketch inicia. Use-a para inicializar variáveis, configurar o modo dos pinos(INPUT ou OUTPUT), inicializar bibliotecas, etc. A função setup() será executada apenas uma vez, apoós a placa ser alimentada ou acontecer um reset.
Código de Exemplo
int buttonPin = 3;
void setup() {
  // Inicializa a porta serial
  Serial.begin(9600);
  // configura o pino 3 como INPUT
  pinMode(buttonPin, INPUT);
}
void loop() {
  // ...
}
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Sketch
            > Loop
          
loop()
          [Sketch]
          
Descrição
> Loop
          
loop()
          [Sketch]
          
Descrição
Depois de criar uma função setup(), a qual inicializa e atribui os valores iniciais, a função loop() faz precisamente o que o seu nome sugere, e repete-se consecutivamente enquanto a placa estiver ligada, permitindo o seu programa mudar e responder a essas mudanças. Use-a para controlar ativamente uma placa Arduino.
Código de Exemplo
int buttonPin = 3;
// setup inicializa a porta serial e o pino para o botão
void setup() {
  Serial.begin(9600);
  pinMode(buttonPin, INPUT);
}
// loop checa o estado do botão repetidamente, e envia
// pela serial um 'H' se este está sendo pressionado
void loop() {
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Boolean operators
            > Logicalnot
          
!
          [Boolean Operators]
          
Descrição
> Logicalnot
          
!
          [Boolean Operators]
          
Descrição
O NÃO lógico resulta em verdadeiro se o operando é falso, e vice-versa. Vale lembrar que condições verdadeiras e falsas na linguagem Arduino são representadas por true e false respectivamente.
Código de Exemplo
Esse operador pode ser usado dentro da condição de um laço if.
if (!x) { // se x não é true
  // código a ser executado
}
Pode ser usado para inverter o valor booleano.
x = !y; // o valor booleano invertido de y é guardado em x
Notas e Advertências
O NÃO bitwise  ~ (til) é muito diferente do NÃO booleano ! (ponto de exclamação), mas você ainda deve ter certeza de qual você precisa usar.
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Boolean operators
            > Logicaland
          
&&
          [Boolean Operators]
          
Descrição
> Logicaland
          
&&
          [Boolean Operators]
          
Descrição
O E lógico resulta em verdadeiro, apenas se ambos os operandos são verdadeiros. Vale lembrar que condições verdadeiras e falsas na linguagem Arduino são representadas por true e false respectivamente.
Código de Exemplo
Esse operador pode ser usado dentro da condição de um laço if.
if (digitalRead(2) == HIGH  && digitalRead(3) == HIGH) {  // se AMBOS os botões estão em HIGH
  // código a ser executado caso as duas condições sejam verdadeiras
}
Notas e Advertências
Tome cuidado para não confundir o operatdor booleano E, && (e comercial duplo); com operador bitwise E, & (e comercial único). Eles são usados para propósitos diferentes.
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Boolean operators
            > Logicalor
          
||
          [Boolean Operators]
          
Descrição
> Logicalor
          
||
          [Boolean Operators]
          
Descrição
O OU lógico resulta em verdadeiro se pelo menos um dos operandos é verdadeiro. Vale lembrar que condições verdadeiras e falsas na linguagem Arduino são representadas por true e false respectivamente.
Código de Exemplo
Esse operador pode ser usado dentro da condição de um laço if.
if (x > 0 || y > 0) { // se x ou y é maior que zero
  // código a ser executado
}
Notas e Advertências
Não confunda o operador OU booleano || (pipe duplo) com o operador OU bitwise | (pipe único).
Ver Também
LINGUAGEM | OU Bitwise
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Bitwise operators
            > Bitwisenot
          
~
          [Bitwise Operators]
          
Descrição
~
          [Bitwise Operators]
          
Descrição
O operador NÃO bit-a-bit em C++ é o caractere til ~. Diferentemente de & e |, o operador bitwise NÃO é aplicado a um único operando a sua direita. O NÃO Bitwise muda cada bit para seu valor oposto: 0 se torna 1, e 1 se torna 0.
Em outras palavras:
0  1    operando1
-----
1  0   ~operando1
Código de Exemplo
int a = 103;  // binário:  0000000001100111
int b = ~a;   // binário:  1111111110011000 = -104
Notas e Advertências
Notas e Advertências
Você pode ficar surpreso ao ver um número negativo como -104 como o resultado dessa operação. Isso acontece porque o bit mais significativo de um valor int é o chamado bit de sinal. Se esse bit é 1, o número é interpretado como negativo. Essa codificação de números positivos e negativos é referido como complemento de dois. Para mais informações, veja o arquivo da Wikipédia a respeito do complemento de dois.
Um comentário adicional: é interessante notar que para qualquer inteiro x, ~x é o mesmo que -x - 1.
As vezes, o bit de sinal em uma expressão pode causar alguns efeitos indesejados, veja a página do operador de deslocamento à direita (>>), por exemplo, para mais detalhes.
Ver Também
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Bitwise operators
            > Bitshiftright
          
>>
          [Bitwise Operators]
          
Descrição
>>
          [Bitwise Operators]
          
Descrição
O operador de deslocamento à direita >> faz os bits do operando à esquerda do operador serem deslocados à direita pelo número de posições especificadas pelo operando à direita do operador.
Sintaxe
variável << numero_de_bits;
Parâmetros
variável: Tipos de dados permitidos: byte, int, long
numero_de_bits: um número menor ou igual 32. Tipos de dados permitidos: int
Código de Exemplo
int a = 40;     // binário: 0000000000101000
int b = a >> 3; // binário: 0000000000000101, ou 5 em decimal
Notas e Advertências
Notas e Advertências
Quando você desloca x à direita por y bits (x >> y), e o bit mais significativo em x é 1, o comportamento depende do tipo de dado de x. Se x é do tipo int, o bit mais significativo é o bit de sinal, determinando se x é negativo ou não, como pode ser visto com detalhes na página do tipo de dado int. Nesse caso, o bit de sinal é copiado para os bits menos significativos quando o valor é deslocado, por razões históricas:
int x = -16;  // binário: 1111111111110000
int y = 3;
int resultado = x >> y;  // binário: 1111111111111110
int resultado = x >> y;  // binário: 1111111111111110
Esse comportamento, chamado extensão do sinal, é frequentemente indesejável. Em vez disso, você pode quere que zeros sejam deslocados da esquerda. Acontece que as regras do deslocamento à direita são diferentes para expressões unsigned int, estão você pode usar casting para impedir que uns sejam copiados da esquerda:
int x = -16;  // binário: 1111111111110000
int y = 3;
int resultado = (unsigned int)x >> y;  // binário: 0001111111111110
Se você for cuidadoso para evitar a extensão do sinal, você pode usar o operador de deslocamento à direita >> como uma forma de dividir por potências de 2. Por exemplo:
int x = 1000;
int y = x >> 3; // divisão inteira de 1000 por 8, resultando em y = 125.
Ver Também
EXEMPLO Tutorial BitMath (Em Inglês)
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Bitwise operators
            > Bitshiftleft
          
<<
          [Bitwise Operators]
          
Descrição
<<
          [Bitwise Operators]
          
Descrição
O operador de deslocamento a esquerda << faz os bits do operando à esquerda do operador serem deslocados a esquerda pelo número de posições especificadas pelo operando à direita do operador.
Sintaxe
variável << numero_de_bits;
Parâmetros
variável: Tipos de dados permitidos: byte, int, long
numero_de_bits: um número menor ou igual 32. Tipos de dados permitidos: int
Código de Exemplo
int a = 5;      // binário: 0000000000000101
int b = a << 3; // binário: 0000000000101000, ou 40 em decimal
Notas e Advertências
Notas e Advertências
Quando você desloca um valor x por y bits (x << y), os y bits mais a esquerda em x são perdidos, literalmente deslocados para fora da existência:
int x = 5;  // binário: 0000000000000101
int y = 14;
int resultado = x << y;  // binário: 0100000000000000 - os primeiros 1 em 101 foram descartados
Se você tem certeza que nenhum dos bits 1 em um valor serão descartados no deslocamento, uma forma simples de pensar do operador de deslocamento à esquerda é que ele multiplica o operando a esquerda por 2 elevado ao operando a direita. Por exemplo, para gerar potências de 2, as seguintes expressões podem ser utilizadas:
Operação  Resultado
   ---------  ------
    1 <<  0      1
    1 <<  1      2
    1 <<  2      4
    1 <<  3      8
    ...
    1 <<  8    256
    1 <<  9    512
    1 << 10   1024
    ...
O exemplo a seguir pode ser utilizado para imprimir um byte recebido no monitor serial, usando o operador de deslocamento à esquerda para mover 1 pelo número de bits especificado, testar o valor com o E (&), e imprimir seu valor (1 ou 0):
// Imprime o valor binário (1 ou 0) de um byte
void printOut1(int c) {
  for (int bits = 7; bits > -1; bits--) {
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Bitwise operators
            > Bitwiseor
          
|
          [Bitwise Operators]
          
Descrição
|
          [Bitwise Operators]
          
Descrição
O operador bitwise OU em C++ é o caractere barra vertical, |. Da mesma forma que o operador &, | opera  independentemente em cada bit dos dois operandos, mas seu propósito é diferente (duh!). O resultado da operação OU entre dois bits é 1 se qualquer um ou ambos os bits de entrada são 1, do contrário é 0.
Explicado de outra forma:
0  0  1  1    operando1
0  1  0  1    operando2
----------
0  1  1  1    (operando1 | operando2) - resultado retornado
Código de Exemplo
int a =  92;    // em binário: 0000000001011100
int b = 101;    // em binário: 0000000001100101
int c = a | b;  // resultado:    0000000001111101, ou 125 em decimal.
Um dos usos mais comuns do OU bit-a-bit é "setar" um ou mais bits em um valor.
// Nota: Esse código é específico para a arquitetura AVR
// configura os bits de direção para os pinos 2 a 7, deixa 0 e 1 intocados (xx | 00 == xx)
// Equivale a pinMode(pino, OUTPUT) para os pinos 2 a 7 no Arduino Uno ou Nano
DDRD = DDRD | B11111100;
// o mesmo que pinMode(pino, OUTPUT) para os pinos 2 a 7
Ver Também
LINGUAGEM || OU lógico
Linguagem
funções
variáveis
estrutura
Bibliotecas
IoT Cloud API
Glossário
        A documentação de referência da linguagem Arduino está licenciada sob a licença Creative Commons Attribution-Share Alike 3.0.
    
    Encontrou alguma coisa que pode ser melhorada? Sugira correções e nova documentação via GitHub.
    
    Dúvidas sobre como usar o Github? Aprenda tudo o que precisa saber nesse tutorial.
    
Last Revision: Searching...
Last Build: 2023/06/30 
Editar essa Página
Reference
            >  Language
            >  Structure
            >  Bitwise operators
            > Bitwisexor
          
^
          [Bitwise Operators]
          
Descrição
^
          [Bitwise Operators]
          
Descrição
Na linguagem C++ existe um operador um pouco incomum chamado de OU EXCLUSIVO, também conhecido como XOR (Em Inglês é pronunciado "eks-or"), bit-a-bit. O operador XOR bitwise é escrito usando-se o símbolo ^. Uma operação XOR bit-a-bit resulta em 1 apenas se os bits de entrada são diferentes. Se iguais, o resultado é zero.
Precisamente,
0  0  1  1    operando1
0  1  0  1    operando2
----------
0  1  1  0    (operando1 ^ operando2) - resultado retornado
Código de Exemplo
int x = 12;     // binário: 1100