Cours:TpiiChenillardDouble : Différence entre versions

De troyesGEII
Aller à : navigation, rechercher
Ligne 52 : Ligne 52 :
 
     for (i=1;i>0;i*=2)
 
     for (i=1;i>0;i*=2)
 
     {
 
     {
       //ecrireParPort(device,1<<i);
+
       //ecrireParPort(device,i|j);
 
         printbits(i|j);printf("\n");
 
         printbits(i|j);printf("\n");
 
       //usleep(100000);
 
       //usleep(100000);
Ligne 61 : Ligne 61 :
 
  }
 
  }
  
 +
==décalage de n bits==
 +
 +
#include "commcarte.h"
 +
void printbits(unsigned char n)
 +
{
 +
  int i;
 +
  for (i=7;i>=0;i--)  printf("%d", (n >> i ) & 1);
 +
}<br>
 +
int main()
 +
{
 +
  int device;
 +
  //device=openParPort("/dev/parport0");
 +
  unsigned char i,j,cpt;
 +
  for (cpt=0;cpt<3;cpt++)
 +
  {
 +
    j=7;
 +
    for (i=0;i<8;i++)
 +
    {
 +
      //ecrireParPort(device,1<<i|1<<j);
 +
      printbits(1<<i|1<<j);printf("\n");
 +
      //usleep(100000);
 +
      j--;
 +
    }
 +
  }
 +
  //closeParPort(device);
 +
}
  
 
{{RetourVers/TpII}}
 
{{RetourVers/TpII}}

Version du 12 décembre 2012 à 22:58

retour vers la page des Tps II

Solution avec une boucle while

#include "commcarte.h"
void printbits(unsigned char n)
{
  int i;
  for (i=7;i>=0;i--)  printf("%d", (n >> i ) & 1);
}
int main() { int device; //device=openParPort("/dev/parport0"); unsigned char val,val2,cpt=0; while (cpt<3) { cpt++; val=0x01; // 0000 0001 val2=0x80; // 1000 0000 while (val) { //ecrireParPort(device,val|val2); printbits(val|val2);printf("\n"); val=val<<1; val2=val2>>1; //usleep(100000); } } //closeParPort(device); }


Solution avec boucle for

multiplication/division par 2

#include "commcarte.h"
void printbits(unsigned char n)
{
  int i;
  for (i=7;i>=0;i--)  printf("%d", (n >> i ) & 1);
}
int main() { int device; //device=openParPort("/dev/parport0"); unsigned char i,j,cpt; for (cpt=0;cpt<3;cpt++) { j=0x80; // 1000 0000 for (i=1;i>0;i*=2) { //ecrireParPort(device,i|j); printbits(i|j);printf("\n"); //usleep(100000); j=j/2; } } //closeParPort(device); }

décalage de n bits

#include "commcarte.h"
void printbits(unsigned char n)
{
  int i;
  for (i=7;i>=0;i--)  printf("%d", (n >> i ) & 1);
}
int main() { int device; //device=openParPort("/dev/parport0"); unsigned char i,j,cpt; for (cpt=0;cpt<3;cpt++) { j=7; for (i=0;i<8;i++) { //ecrireParPort(device,1<<i|1<<j); printbits(1<<i|1<<j);printf("\n"); //usleep(100000); j--; } } //closeParPort(device); }

retour vers la page des Tps II