salut tous le monde
je cherche a modifier les bits d'une variable de type byte
par exemple "00110011" en "000000011"
je cherche s'il existe une fonction qui peut accéder à un des bits.
merci.
Version imprimable
salut tous le monde
je cherche a modifier les bits d'une variable de type byte
par exemple "00110011" en "000000011"
je cherche s'il existe une fonction qui peut accéder à un des bits.
merci.
C'est tout con en fait (bon, pas tant que ça :aie:) :
Code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 public static bool IsBitSet(byte pInput, int pPosition) { if (pPosition < 1 || pPosition > 8) throw new ArgumentOutOfRangeException("pPositition n'est pas dans [1,8]"); byte mask = (byte)(1 << (pPosition - 1)); return (pInput & mask) == mask; } public static byte SetBit(byte pInput, int pPosition, bool pSet) { if (pPosition < 1 || pPosition > 8) throw new ArgumentOutOfRangeException("pPositition n'est pas dans [1,8]"); if (pSet != IsBitSet(pInput, pPosition)) { return (byte)(pInput ^ (1 << (pPosition - 1))); } else return pInput; }