Swap bit d'un octet

michlemer Messages postés 8 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 1 décembre 2009 - 10 déc. 2008 à 17:57
michlemer Messages postés 8 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 1 décembre 2009 - 11 déc. 2008 à 11:43
Bonjour

Est-ce qu'il y naurait une instruction C# pour "swapper" les bits d'un octet?
Le bit 0 doit passer en position 7 et vis-versa puis bit 1 ...


Merci


Michel
A voir également:

4 réponses

cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
10 déc. 2008 à 23:34
Salut,
Je ne crois pas que ça existe, mais ça ce code très facilement:

public
class
Program
{
  
public
static
void Main(
string[] args)
  {
     
BitArray bArray =
new
BitArray(
new
bool[] {
true,
true,
false,
true,
false,
false,
true,
false});
      bArray.Swap(1, 7);
   }
}

public
static
class
Tools
{
  
public
static
void Swap(
this
BitArray bArray,
int index1,
int index2)
   {
     
bool i1 = bArray.Get(index1);
      bArray.Set(index1, bArray.Get(index2));
      bArray.Set(index2, i1);
   }
}

<hr />
-Blog-
-Site Perso-
0
WishhhMaster Messages postés 327 Date d'inscription mardi 17 février 2004 Statut Membre Dernière intervention 10 avril 2010 8
11 déc. 2008 à 09:01
Salut,

Je crois qu'il veut inverser tous les bits de son octets.

Essaye ça

public byte SwapBits(byte b)
        {
            byte res = 0;
            for (int i = 0; i < 8; ++i)
            {
                res = (byte)(res << 1);
                res |= (byte)(b & 1);
                b = (byte)(b >> 1);
            }
            return res;
        }
0
cs_Bidou Messages postés 5486 Date d'inscription dimanche 4 août 2002 Statut Membre Dernière intervention 20 juin 2013 61
11 déc. 2008 à 09:17
Ha ok...

<hr />
-Blog-
-Site Perso-
0
michlemer Messages postés 8 Date d'inscription mercredi 18 juillet 2007 Statut Membre Dernière intervention 1 décembre 2009
11 déc. 2008 à 11:43
merci
Michel
0
Rejoignez-nous