Manipulation de bits (depuis C++20)
Depuis fr.cppreference.net
< cpp | utilitaire
Fournit plusieurs gabarits de fonctions pour accéder, manipuler et traiter des bits individuels et des séquences de bits.
Défini dans l'en-tête
<bit> | |
Défini dans l'espace de noms
std | |
(C++20) |
réinterprète la représentation objet d'un type en celle d'un autre (gabarit de fonction) |
(C++23) |
inverse les octets dans la valeur entière donnée (gabarit de fonction) |
Puissances entières de 2 |
|
|
(C++20)
|
vérifie si un nombre est une puissance entière de
2
(modèle de fonction) |
|
(C++20)
|
trouve la plus petite puissance entière de
2
non inférieure à la valeur donnée
(modèle de fonction) |
|
(C++20)
|
trouve la plus grande puissance entière de
2
inférieure ou égale à la valeur donnée
(modèle de fonction) |
|
(C++20)
|
trouve le plus petit nombre de bits nécessaire pour représenter la valeur donnée
(modèle de fonction) |
Décalage (depuis C++29) | |
(C++29) |
décale à gauche sans possibilité de comportement indéfini (modèle de fonction) |
(C++29) |
décale à droite sans possibilité de comportement indéfini (modèle de fonction) |
Rotation |
|
|
(C++20)
|
calcule le résultat de la rotation binaire vers la gauche
(modèle de fonction) |
|
(C++20)
|
calcule le résultat de la rotation droite au niveau des bits
(modèle de fonction) |
Comptage |
|
|
(C++20)
|
compte le nombre de bits
0
consécutifs, en commençant par le bit le plus significatif
(modèle de fonction) |
|
(C++20)
|
compte le nombre de bits
1
consécutifs, en commençant depuis le bit le plus significatif
(modèle de fonction) |
|
(C++20)
|
compte le nombre de bits
0
consécutifs, en commençant par le bit le moins significatif
(modèle de fonction) |
|
(C++20)
|
compte le nombre de bits
1
consécutifs, en commençant par le bit le moins significatif
(modèle de fonction) |
|
(C++20)
|
compte le nombre de bits à
1
dans un entier non signé
(modèle de fonction) |
Permutation (depuis C++29) | |
(C++29) |
inverse les bits dans un entier (modèle de fonction) |
(C++29) |
répète/diffuse un motif binaire de longueur spécifiée (modèle de fonction) |
(C++29) |
comprime les bits d'un opérande à l'aide d'un masque (PEXT) (modèle de fonction) |
(C++29) |
dilate les bits d'un opérande à l'aide d'un masque (PDEP) (modèle de fonction) |
Endian |
|
|
(C++20)
|
indique l'endianness des types scalaires
(enum) |
Notes
| Macro de test de fonctionnalité | Valeur | Norme | Fonctionnalité |
|---|---|---|---|
__cpp_lib_bit_cast |
201806L |
(C++20) | std::bit_cast |
__cpp_lib_bitops |
201907L |
(C++20) | Opérations sur les bits |
202606L |
(C++29) | Permutation de bits | |
__cpp_lib_int_pow2 |
202002L |
(C++20) | Opérations sur les puissances entières de2 |
__cpp_lib_byteswap |
202110L |
(C++23) | std::byteswap |
Voir aussi
|
Documentation C
pour
Bit manipulation
|