Es posible que al hacer corrimiento hacia la izq. << o der. >> el bit de relleno sea 1 en vez de 0 ?
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
(x shitr 1) or 0x8000 para un byte
(x shitf 1) or 0x1
¿te vale esto?
Cita de: "blau"(x shitr 1) or 0x8000 para un byte
por qué el or con 0x8000 ?
Me pierde el hexadecimal... ;)
Porque equivale a 1000 0000 en binario,
o si te es mas sencillo a 128 en decimal
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.