Prototype
void EValue::MaskSuppressAdd( T tMaskToSuppress,
T tMaskToAdd );

Cette fonction applique le masque tMaskToSuppress sur la variable membre m_tValue en utilisant les opérateurs de bits & et ~ puis applique le masque tMaskToAdd sur la variable membre m_tValue en utilisant l'opérateur de bits |.

En d'autres termes, elle supprime d'abord les bits du masque tMaskToSuppress puis ajoute les bits du masque tMaskToAdd.

 

Argument

T tMaskToSuppress

valeur à appliquer comme masque des opérateurs de bits & et ~.

T tMaskToAdd

valeur à appliquer comme masque de l'opérateur de bits |.

 

Retour

aucun.

 

Exemple

Description :

• Instancier un objet EValue de type ushort initialisé avec la valeur 0xFFFFF (11111111 11111111),
• Supprimer le masque de bits 0x7FFE (01111111 11111110) puis ajouter le masque de bits 0x0AA0 (00001010 10100000).

Code :

EValue <ushort> eValue( 0xFFFF );

eValue.TraceEx( _T("eValue") );
eValue.MaskSuppressAdd( 0x7FFE, 0x0AA0 );
eValue.TraceEx( _T("eValue") );

Sortie :

### Object EValue 'eValue' Trace #
# Object address='0x0012F480', size of='2' byte(s) ('16' bits).
# Value:
# Decimal='-1'(signed) '65535'(unsigned), Hexadecimal='0xFFFF'.
# Binary = 11111111 11111111
# Equal. = ======== ========
# Pos maj= 00000000 00000000
# Pos min= FEDCBA98 76543210
### End #

### Object EValue 'eValue' Trace #
# Object address='0x0012F480', size of='2' byte(s) ('16' bits).
# Value:
# Decimal='-30047'(signed) '35489'(unsigned), Hexadecimal='0x8AA1'.
# Binary = 10001010 10100001
# Equal. = ======== ========
# Pos maj= 00000000 00000000
# Pos min= FEDCBA98 76543210
### End #

Vue :

0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00

Champs de bits

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Valeur originale

0F 0E 0D 0C 0B 0A 09 08 07 06 05 04 03 02 01 00

Champs de bits

1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 Valeur originale
0 1 1 1 1 1 1 1 1 1 1 1 1 1 1 0 Suppression 7FFE
1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 Résultat
0 0 0 0 1 0 1 0 1 0 1 0 0 0 0 0 Ajout 0AA0
1 0 0 0 1 0 1 0 1 0 1 0 0 0 0 1 Résultat

 

Voir aussi
BOOL EValue::MaskSuppressAddEx( T tMaskToSuppress, T tMaskToAdd );

 

Minimum
Version 1.0.0