Articles of manipulation de bits

Android In App Billing: sécuriser la clé publique de l’application

A partir d’Android Dans App Billing version 3 (TrivialDrive) exemple d’application fourni avec sdk MainActivity.java /* base64EncodedPublicKey should be YOUR APPLICATION’S PUBLIC KEY * (that you got from the Google Play developer console). This is not your * developer public key, it’s the *app-specific* public key. * * Instead of just storing the entire literal […]

Quel est le moyen le plus simple de tester si un nombre est une puissance de 2 en C ++?

J’ai besoin d’une fonction comme celle-ci: // return true iff ‘n’ is a power of 2, eg // is_power_of_2(16) => true is_power_of_2(3) => false bool is_power_of_2(int n); Quelqu’un peut-il suggérer comment je pourrais écrire ceci? Pouvez-vous me dire un bon site Web où ce type d’algorithme peut être trouvé?

Meilleures pratiques pour les opérations de décalage circulaire (rotation) en C ++

Les opérateurs de décalage gauche et droit (<>) sont déjà disponibles en C ++. Cependant, je ne pouvais pas savoir comment je pouvais effectuer un décalage circulaire ou effectuer des rotations. Comment effectuer des opérations telles que “Rotation à gauche” et “Rotation à droite”? Tourner à droite deux fois ici Initial –> 1000 0011 0100 […]

Qu’est ce que c’est CHAR_BIT?

Citant le code pour calculer la valeur absolue entière (abs) sans twigment à partir de http://graphics.stanford.edu/~seander/bithacks.html : int v; // we want to find the absolute value of v unsigned int r; // the result goes here int const mask = v >> sizeof(int) * CHAR_BIT – 1; r = (v + mask) ^ mask; […]

Incrémenter des bits de données ‘masqués’

Je suis en train d’écrire un énumérateur d’arbre où j’ai rencontré le problème suivant: Je regarde les bits masqués, c’est-à-dire les bits où les bits définis sont un sous-ensemble d’un masque, à savoir 0000101 avec le masque 1010101 . Ce que je veux accomplir, c’est d’incrémenter les bits, mais seulement par rapport aux bits masqués. […]

Comment puis-je obtenir des données bit à bit à partir d’une valeur entière en C?

Je veux extraire des bits d’un nombre décimal. Par exemple, 7 est le binary 0111, et je veux obtenir 0 1 1 1 tous les bits stockés dans bool. Comment puis-je le faire? OK, une boucle n’est pas une bonne option, puis-je faire autre chose?

Soustraire / append de la valeur sans débordement ni débordement

Imaginez que j’ai deux octets non signés b et x . J’ai besoin de calculer bsub comme b – x et badd comme b + x . Cependant, je ne veux pas que le débordement / débordement se produise pendant ces opérations. Par exemple (pseudo-code): b = 3; x = 5; bsub = b – […]

En C / C ++, quel est le moyen le plus simple d’inverser l’ordre des bits dans un octet?

Bien qu’il existe plusieurs manières d’inverser l’ordre des bits dans un octet, je suis curieux de savoir quel est le “plus simple” pour un développeur à implémenter. Et en renversant je veux dire: 1110 -> 0111 0010 -> 0100 Ceci est similaire à, mais pas une duplication de cette question PHP. Ceci est similaire à, […]

Pourquoi si (n & -n) == n alors n est une puissance de 2?

La ligne 294 de la source java.util.Random indique if ((n & -n) == n) // ie, n is a power of 2 // rest of the code Pourquoi est-ce?

C / C ++ vérifie si un bit est défini, c’est-à-dire la variable int

int temp = 0x5E; // in binary 0b1011110. Existe-t-il un moyen de vérifier si le bit 3 en température est 1 ou 0 sans décalage ni masquage des bits. Je veux juste savoir s’il y a une fonction intégrée pour cela ou si je suis obligé d’en écrire une moi-même.