Tengo una serie de caracteres que estoy tratando de desplazar en bit a la derecha >>
, luego &
con otra matriz. Creo que tengo una idea equivocada de cómo hacer esto.Arrays de desplazamiento bit a bit
pensé, a pesar de que era un conjunto de caracteres simplemente indicando my_array >>= 1
cambiaría todo, pero estoy recibiendo un error: "error: invalid operands to binary >> (have ‘char[8]’ and ‘int’)"
La comparación bit a bit que estoy tratando de hacer es con una matriz de tamaño similar iniciada a todos "0's" ... para eso obtengo: "error: invalid operands to binary & (have ‘char *’ and ‘char *’)"
¿Debo convertir estas matrices en otra cosa antes de poder cambiar y comparar?
Disculpe, no estaba súper claro ... Todos los buenos consejos hasta este punto y creo que me estoy dando cuenta de que no hay una forma muy fácil de hacerlo. Más específicamente, lo que estoy tratando de hacer es cambiar los bits de la matriz de caracteres ENTER completamente a la derecha 1, agregando el bit desplazado de la parte posterior derecha al lado izquierdo de la matriz, hacer la comparación bit a bit con otra matriz del mismo tamaño.
Técnicamente, la comparación no tiene que ser una matriz con matriz ... Solo necesito los bits. ¿Sería más fácil convertir las matrices en otra cosa antes de intentar hacer los cambios/comparaciones?
¿Está tratando de rotar el contenido de la matriz, o está tratando de desplazar en bit cada elemento individual de la matriz? Ninguna de esas operaciones existe en forma nativa en C. Tendrá que escribir un bucle que copia cada elemento en una ubicación, o mueve en forma de bit cada elemento en la matriz. – chrisaycock