Forum Clubic

Programmation C++ operateur

Bonjour,
Je dois modifier un programme de traitrement d’image,
et j’aurais besoin de vos lumière.


premier extrait du programme

for (int iphi=0; iphi<max_phi*6; iphi+=4)
	{
		float phi=float(iphi/4)*M_PI/float(max_phi*1.5);
		geo_lookup[iphi/4]=sin(phi);
		geo_lookup[(iphi/4)+1]=cos(phi);
		geo_lookup[(iphi/4)+2]=l*(1.f+geo_lookup[iphi]-geo_lookup[iphi+1]);
		geo_lookup[(iphi/4)+3]=-l*(geo_lookup[iphi]+geo_lookup[iphi+1]);
	}

et ,deuxieme extrait du programme, après on utilise geo_lookup,


for (int phi=0; phi<max_phi; phi++)
		{
			float sinphi=geo_lookup[phi<<2];
			float cosphi=geo_lookup[(phi<<2)+1];
			float f1=geo_lookup[(phi<<2)+2];



j’aimerais savoir dans ce contexte, a quoi sert l’operateur “<<”

C’est un opérateur de décalage, ca décale les bits de l’expression à droite d’une valeur égale à l’expression de gauche


phy = 12; // soit : (00001100)base2
phy = phy<<2; // On décale de deux bits sur la gauche
print_f( "%d", phy ); // Affiche (00110000)base2 soit 48;

merci pour ta réponse.:wink: