253 votes

Monde réel utiliser cas des opérateurs de bits

Quels sont certains cas d’utilisation de monde réel de l’opérateurs de bits suivants ?

  • ET
  • XOR
  • PAS
  • OU

240voto

Aaronaught Points 73049
  • Champs de bits (drapeaux)
    Ils sont le moyen le plus efficace de représenter quelque chose dont l'état est défini par plusieurs "oui" ou "non" propriétés. Les acl sont un bon exemple; si vous avez, disons 4 discrète permissions (lecture, écriture, exécution, modification de la politique), il est préférable de les stocker dans 1 octet plutôt que des déchets 4. Ceux-ci peuvent être mappés à l'énumération des types dans de nombreuses langues, pour plus de commodité.

  • La Communication sur les ports/sockets
    Implique toujours des sommes de contrôle, parité, bits d'arrêt, le contrôle de flux des algorithmes, et ainsi de suite, qui dépendent généralement de la logique des valeurs d'octets individuels, par opposition à des valeurs numériques, depuis le moyen ne peut être capable de transmettre un bit à la fois.

  • La Compression, Le Cryptage
    Ces deux sont fortement dépendants du bit à bit des algorithmes. Regarder le dégonfler algorithme pour un exemple - tout est en bits, pas d'octets.

  • Des Machines À États Finis
    Je parle principalement du type intégré dans un composant matériel, mais on peut les trouver dans les logiciels. Ce sont combinatoire dans la nature, ils peuvent littéralement être "compilé" en bas à tout un tas de portes logiques, de sorte qu'ils doivent être exprimées en AND, OR, NOT, etc.

  • Graphiques Il y a à peine assez d'espace ici pour obtenir dans tous les domaines où ces opérateurs sont utilisés dans des programmes graphiques. XOR (ou ^) est particulièrement intéressant ici, car l'application de la même entrée une deuxième fois à l'annulation de la première. Les anciennes Interfaces graphiques utilisés pour compter sur ce pour la sélection en surbrillance et autres superpositions, afin d'éliminer la nécessité de coûteux redessine. Ils sont toujours utiles dans la lente graphiques protocoles (c'est à dire de bureau à distance).

Ceux qui ont été les premiers exemples, je suis venu avec - ce n'est pas une liste exhaustive.

52voto

Seth Points 18568

Est-ce bizarre ?

Est-il divisible par deux (même) ?

26voto

Carl Norum Points 114072

Programmation de bas niveau est un bon exemple. Vous devrez peut-être, par exemple, écrire un bit spécifique à un registre mappé en mémoire à faire quelques pièces de ce que vous souhaitez :

En outre, et sont implémentées à l’aide de la et opérateurs (sur les machines dont "endianness" ne correspond pas à ordre du réseau) :

21voto

Terje Points 868

J’ai utiliser pour obtenir les valeurs RGB(A) de colorvalues paniers, par exemple.

14voto

Tenner Points 3412

Quand j’ai un tas d’indicateurs booléens, je tiens à les stocker tout dans un int.

J’ai faire sortir à l’aide-et au niveau du bit. Par exemple :

etc.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X