Test Foro de elhacker.net SMF 2.1

Programación => Programación General => Java => Mensaje iniciado por: m@o_614 en 15 Enero 2015, 20:19 PM

Título: Operadores de manejo de bits
Publicado por: m@o_614 en 15 Enero 2015, 20:19 PM
Saludos

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 (java) [Seleccionar]
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
Título: Re: Operadores de manejo de bits
Publicado por: El Benjo en 16 Enero 2015, 21:25 PM
Intenta con el && en vez de &:

Código (java) [Seleccionar]
binario[i] = (valor&&1)? '1':'0';
Título: Re: Operadores de manejo de bits
Publicado por: ivancea96 en 16 Enero 2015, 22:38 PM
Código (java) [Seleccionar]
valor&1==1
Debería servir.