Java - Ayuda con OPERADORES

 
Vista:

Ayuda con OPERADORES

Publicado por Pau Labarta (8 intervenciones) el 22/06/2001 13:45:21
No acabo de entender el funcionamiento de los operadores a nivel de bit, sobretodos estos <<< >>> y cosas así. Si alguien me lo puedes explicar, lo necesito porque estoy programando un programa de dibujo y es imprescindible. Gracias de todos modos!
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Ayuda con OPERADORES

Publicado por Rafael Arturo Bravo Reyes (29 intervenciones) el 07/07/2001 14:21:02
Bueno los operadores a nivel bit son los siguientes <<, >> y >>> solamente, (comentario: el operador <<< no existe en java), para que entiendas como funciona esto es así: supongamos que tienes un número como por ejemplo 26, que esto en binario es: 00011010, el operador >> lo que hace es un desplazamiento de bits a la derecha de acuerdo al número que lo acompañe, ejemplo: int a=26; a=a<<2; esto tendrá como resultado que se correrá a la izquierda los bits así: original: 00011010, después del operador: 01101000, como ves después del desplazamiento se rellenó con ceros a la derecha y los unos del principio se recorrieron 2 posiciones que son las que tú indicaste con el número que le pasas de parámetro, abro un paréntesis que entiendas que la conversión automática de tipos toma efecto para los tipos byte y short, estos tipos son automáticamente promovidos a int, además que estos operadores solo son aplicables unicamente para los tipos de datos enteros, prosiguiendo con el tema en realidad el número original 26 estaba representado por 32 posiciones al ser una variable int, solo puse 8 posiciones por razones de espacio pero para el caso que la operación sea así: a=a<<9; entonces quedaría así: 00110100,00000000, el número con el que indicas las posiciones a desplazar debe ser un número entre 1 y 32 para los int y para el long hasta 64, en realidad solo son considerados los números hasta ese rango pero si indicas un número mayor como por ejemplo a<<=34; entonces sería equivalente a a<<=3; el operador >> funciona de la misma manera solo que si prosiguiendo con nuestro ejemplo tenemos el valor a=241; que es 11110001al ser un int en
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar