I can't use a IR receiver

I programmed a IR receiver, but it’s returns me a error message:

unable to find numeric literal operator ‘operator""FC837’

The code is: (ignore the portuguese words, i’m brazilian)

#include <IRremote.h>

float valor;

IRrecv irrecv(9); //Atribuindo nome ao pino receptor
decode_results results;
void setup() {
pinMode (10, OUTPUT);
Serial.begin(9600);
irrecv.enableIRIn(); //Inicializa o receptor IR
}
void loop() {

if (irrecv.decode(&results)) //Verifica se algum botão foi acionado
{
delay (100);

//Mostra no serial monitor o valor recebido em hexadecimal
Serial.print("Valor de leitura : ");
Serial.println(results.value, HEX);
valor = (results.value);
// Verifica os botões e executa ação

if (valor == 807FC837)
{
digitalWrite(10, HIGH); //Acende o led verde
}
if (valor == 0xFF22DD) //Verifica se a tecla 4 foi acionada
{
digitalWrite(10, LOW); //Apaga o led vermelho
}
if (valor == 807F08F7) //Verifica se a tecla 0 foi acionada
{
//Apaga o led
digitalWrite(10, LOW);
}

irrecv.resume();//Le o próximo valor
}
}

    if (valor == 807FC837)

Are you sure that the IR sender actually sends this code ? I think not. Where did you get the value from ?

Spot the difference with later in your code

   if (valor == 0xFF22DD) //Verifica se a tecla 4 foi acionada

The test here is for a Hex value of FF22DD, which is valid

float valor;

Why are you using float?

larryd:
float valor;

Why are you using float?

I copied this code from the internet and just modified the hexadecimal values.

unsigned long is more appropriate.

valor == 807FC837 perhaps you copied this wrong, check again.
maybe should be:
valor == 0x7FC837

UKHeliBob:

    if (valor == 807FC837)

Are you sure that the IR sender actually sends this code ? I think not. Where did you get the value from ?

Spot the difference with later in your code

   if (valor == 0xFF22DD) //Verifica se a tecla 4 foi acionada

The test here is for a Hex value of FF22DD, which is valid

I open the serial monitor and the value shown was that

the FF22DD value is from the original code. I deleted it after post that

larryd:
unsigned long is more appropriate.

valor == 807FC837 perhaps you copied this wrong, check again.
maybe should be:
valor == 0x7FC837

Thx, but the other hexadecimal value is "wrong" now and the IR receiver read other value

How did you repair the value?

I copied this crap from the internet and just modified the hexadecimal values.

I fixed that for you. No charge.

The IR does NOT deal with a float.

Show us a link or image of the IR remote you are using.

larryd:
Show us a link or image of the IR remote you are using.

i used 3

1- https://http2.mlstatic.com/D_NP_18371-MLB20154373982_082014-Q.jpg

2- data:image/jpeg;base64,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

3- https://http2.mlstatic.com/controle-remoto-multimidia-aikon-ak-6500s-D_NQ_NP_940910-MLB26223206995_102017-F.jpg

Try this sketch.
If it works, record the HEX value for each switch.

#include <IRremote.h>

int RECV_PIN = 2;                      // <---------<<<<<       change to your pin needed
IRrecv irrecv(RECV_PIN);
decode_results results;

void setup()
{
  Serial.begin(9600);
  irrecv.enableIRIn(); // Start the receiver
}

void loop() {
  if (irrecv.decode(&results)) {
    Serial.println(results.value, HEX);
    irrecv.resume(); // Receive the next value
  }
}

If it works, record the HEX value for each switch.

Is there some reason to print the value in hex? It makes no difference to the compiler, and it makes it harder to then use the printed value, because the printed value does NOT start with 0x, so people try to just copy/paste the printed value, and, what do you know, the code won't compile because the number printed has As and Bs and Cs in it.