TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Diego E. en 15 de Mayo de 2009, 11:28:12

Título: Funcion rotar (<<)
Publicado por: Diego E. en 15 de Mayo de 2009, 11:28:12
Hola grupo, tengo la siguiente inquietud.
cuando utilizo la función ejemplo:  contador = contador << 1; de donde sale el bit que entra al bit cero de la variable contador (contador es un int16), pues este no lo arrastra del carry como en assembler, y también, a donde se va el bit que se desborda; pues tampoco se va al carry

gracias.
Título: Re: Funcion rotar (<<)
Publicado por: migsantiago en 15 de Mayo de 2009, 12:43:25
Para esa rotación siempre inserta un cero y el bit que saca se va al cementerio de los bits... o sea que se pierde.

Si quieres insertar un bit que tú elijas y rescatar el bit sacado, puedes usar shift_left() o shift_right() en CCS.
Título: Re: Funcion rotar (<<)
Publicado por: Diego E. en 15 de Mayo de 2009, 14:24:55
migsantiago, me queda completamente claro.

mil gracias.