[ Foro de C# ]
hola buenas,
mi problema leo de un fichero binario unos datos(no todos) y tengo que crear esta funcion y me da este fallo y no se porque
public static byte CAN_MSG_DIR(byte num)
{
byte x = 0x0F;
byte resul= num & x;
return resul;
}
muchas gracias
basicamente quiero hacer la operacion and de dos bytes, gracias
Efectivamente, te aparecerá este mensaje de error:
Error CS0266: No se puede convertir implícitamente el tipo 'int' en 'byte'. Ya existe una conversión explícita (compruebe si le falta una conversión)
Es decir, el resultado de la operacion AND es un "int", no un "byte", así que debes convertir de un tipo a otro, por ejemplo así:
using System;
public class PruebaAnd
{
public static byte CAN_MSG_DIR(byte num)
{
byte x = 0x0F;
byte resul= (byte) (num & x);
return resul;
}
public static void Main()
{
Console.WriteLine(CAN_MSG_DIR(255));
}
}
muchas gracias!!!
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)