Autor Tema: Funcion rotar (<<)  (Leído 1710 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Funcion rotar (<<)
« 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.

Desconectado migsantiago

  • Colaborador
  • DsPIC33
  • *****
  • Mensajes: 8257
    • Sitio de MigSantiago
Re: Funcion rotar (<<)
« Respuesta #1 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.

Desconectado Diego E.

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1086
Re: Funcion rotar (<<)
« Respuesta #2 en: 15 de Mayo de 2009, 14:24:55 »
migsantiago, me queda completamente claro.

mil gracias.