Stratos: Punto de Encuentro de Desarrolladores

¡Bienvenido a Stratos!

Acceder

Foros





ShiftL/ShiftR y bits de relleno

Iniciado por ZüNdFoLGe, 07 de Diciembre de 2006, 09:57:55 PM

« anterior - próximo »

ZüNdFoLGe

Es posible que al hacer corrimiento hacia la izq. << o der. >> el bit de relleno sea 1 en vez de 0 ?

ZüNdFoLGe

Cómo puedo hacer para que al hacer corrimiento hacia la izq. << o der. >> el bit de relleno sea 1 en vez de 0 ?

O sea, va un ejemplo:
11010101
corrimiento de 3 lugares a la izq. a partir del tercer bit: (resultado en c++)
10101000
lo que quiero hacer es:
10101111
en la misma sentencia...
hay alguna forma o debo hacerlo a mano ?

salu2

edit: Mal lo mío, respondí sin darme cuenta

blau

(x shitr 1) or 0x8000  para un byte
(x shitf 1) or 0x1

¿te vale esto?

ZüNdFoLGe

Cita de: "blau"(x shitr 1) or 0x8000  para un byte

por qué el or con 0x8000 ?

blau

Me pierde el hexadecimal... ;)


Porque equivale a 1000 0000 en binario,

o si te es mas sencillo a 128 en decimal

shephiroth

Cuidado con los tamaños de variables!!!!!

Si estais usando byte, usad 0x80.....si usais 2 o 4 bytes, usad 0x8000 y 0x80000000 respectivamente. El 0x01 se puede usar independiente de cuantos bytes useis.






Stratos es un servicio gratuito, cuyos costes se cubren en parte con la publicidad.
Por favor, desactiva el bloqueador de anuncios en esta web para ayudar a que siga adelante.
Muchísimas gracias.