Autor Tema: Ayuda con Shif dentro del FOR  (Leído 1595 veces)

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

Desconectado JCAK

  • PIC18
  • ****
  • Mensajes: 325
Ayuda con Shif dentro del FOR
« en: 04 de Octubre de 2010, 23:02:25 »
Hola una vez más ... perdón pero estoy confundido con el Shift dentro del FOR y no se como debo modificarlo para lograr lo siguiente:

En este código se hace una lectura de la martiz en el siguiente orden: A0,B0,C0,D0,E0,A1,B1,C1,D1,E1,A2,B2,C2,D2,E2,etc.
¿Cómo hay que modificarlo para que lo lea en este otro orden: A4,B4,C4,D4,E4,A3,B3,C3,D3,E3,A2,B2,C2,D2,E2,etc.

¡Alguien me podrá ayudar con la solución o a entender este FOR?


Muchísimas gracias por adelantado.



Código: [Seleccionar]
const unsigned char sprite[] = {
          //   43210
    0x0F, // A 01111
    0x10, // B 10000
    0x10, // C 10000
    0x10, // D 10000
    0x0F  // E 01111
}

int i, msk;
for(msk=1; msk<32; msk<<=1) {
    for(i=0; i<5; i++)
        int bit = sprite & msk? 1: 0;
    }
}


.
Julio - Argentina

Desconectado RICHI777

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1498
Re: Ayuda con Shif dentro del FOR
« Respuesta #1 en: 05 de Octubre de 2010, 12:02:08 »
Hola, me parece que el código esta incompleto, lo que el hace el primer shift dentro del For es solamente multiplicar por 2, porque es lo mismo.

Código: C
  1. Var *= 2;
  2.  
  3.  Var <<= 1;

Asi que el valor mask en el ejemplo es 1-2-4-8-16, lo demás no lo logro ver.

Saludos !