Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1311 connectés 

  FORUM HardWare.fr
  Programmation

  operation binaire en C ....

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

operation binaire en C ....

n°12255
la viper
Posté le 31-01-2001 à 21:49:17  profilanswer
 

comment fait on en C une operation binaire?
je souhaite un decalage vers la droite sur un octet
 
soit par ex 1001 1101 ----> 1100 1110.
 
en ASM no problem mais en C ???

mood
Publicité
Posté le 31-01-2001 à 21:49:17  profilanswer
 

n°12259
verdoux
And I'm still waiting
Posté le 31-01-2001 à 22:06:12  profilanswer
 

Avec les opérateurs de décalage de bits ">>" et "<<".

n°12261
la viper
Posté le 31-01-2001 à 22:11:15  profilanswer
 

merci .. et ca fonctionne comment ??
 
ex : moi j'ai :
 
char Filtre(char octet)
{....
 return octet;
}
 
les .... representant le decalage vers la droite

n°12266
xilebo
noone
Posté le 31-01-2001 à 22:54:17  profilanswer
 

Dans ta question, tu demandes un decalage vers la droite d'un octet et tu donnes comme exempless
 
1001 1101 ----> 1100 1110.ss
 
Je pense que tu as voulu dire un décalage de 1 bit vers la droite.
 
En c effectivement on peut faire trs facilement ca.
 
tu decales de x bits vers la gauche (<< ) ou droite (>> ) mais seulement lors du decalage, ca rajoute des 0 et pas des 1 , alors si tu veux des 1 il va falloir utiliser un masque en plus.
 
1001 1101ss>> 1 donne 0100 1110ss
ssssssssssssss et non 1100 1110
 
ainsi 8 >> 2 ( qui correspond à divisé par 4) donne 2
 
soitss
0000 1000 >> 2 donne 0000 0010

n°12271
z51
Posté le 31-01-2001 à 23:42:05  profilanswer
 

char filtre(char octet)
{
ssssreturn (octet>>1);
}
 
Comme Xilebo le fait remarquer, ça te rajoutera un zéro en bit de poids fort (le + à gauche)

n°12289
frenchie15
Posté le 01-02-2001 à 09:38:53  profilanswer
 

on peut faire :
char filtre(char octet)
{
return((octet>>1)|0x80);
}
 
ça me semble pas mal, mais ça fait un peu bricolage :D

n°12303
wouatouwou​atou
Posté le 01-02-2001 à 11:47:20  profilanswer
 

dans mes souvenirs... jespere que je confond pas les languages :D
 
il me semble qu'il existe les fonctions: shiftleft et shiftright
 
enfin le nom excate jsais plus trop...


---------------
"C'est le boulot qu'on ne commence jamais qui est le plus long à terminer"

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  operation binaire en C ....

 

Sujets relatifs
binaire, latin 
Plus de sujets relatifs à : operation binaire en C ....


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR