Estoy haciendo una función a la cual le paso por parámetros una variable de tipo int, y esa variable la convierto a binario con la ayuda de operadores de bits
Código
public static void funcion(int valor) { int i,bytes; char binario[] = new char[32]; for(i = bytes-1;i >= 0 ;i--) { binario[i] = (valor&1)? '1':'0'; valor >> 1; } }
Al principio declaro un arreglo de caracteres que va a almacenar el numero binario, despues con un ciclo for voy verficando con &(el equivalente a AND) que si los dos bits son 1 en binario se almacena 1, de lo contrario se almacena 0, el problema es que con el operador condicional ? en la parte donde tengo (valor&1) me aparece un mensaje de error que dice:
cannot convert from int to boolean, y no entiendo por qué si esta misma función ya la había utilizado en un programa en C
de antemano gracias