Maison > Questions et réponses > le corps du texte
J'ai une compréhension simple des concepts de code original, de code inverse et de code complémentaire
Mais quand je rencontre le bit "ET, OU, NON", j'explose presque sur place~
Quand je rencontre le décalage vers la gauche et à droite, je viens de le faire. C'est comme une touffe de cheveux~~~
Quelqu'un peut-il faire un bref résumé ?
jesse2019-09-19 13:20:03
Ce ne sont que des apéritifs. Ils ne doivent pas être utilisés comme des obstacles. Dépenser chaque centime réduira votre intérêt pour l'apprentissage du PHP. Si vous ne comprenez pas les connaissances de base, vous pouvez d'abord les ignorer et les considérer en fonction de la situation réelle. utilise le.
王林2019-08-26 17:42:04
Le ET logique, le OU logique et la négation logique sont des opérations intéressantes sur les booléens et appartiennent à la catégorie des mathématiques discrètes.
Bitwise AND, bitwise OR et bitwise NOT sont des opérations sur des bits informatiques et appartiennent à la catégorie des opérations sur bits binaires informatiques.
La logique et sont tous deux vrais. La différence entre & et && en c.
OU logique La vérité est la différence entre | et ||
Logique non faux est vrai en c ! .
Bitwise AND, bitwise OR et bitwise NOT effectuent des opérations logiques sur chaque bit selon les règles ci-dessus, où 1 représente vrai et 0 représente faux.
Opération AND au niveau du bit 0&0=0 ; 0&1=0 ; 1&0=0 ; 1&1=1
Exemple : 10&9 : 0000 1010 & 0000 1001 = 0000 1000 = 8
Les nombres négatifs participent à l'opération AND au niveau du bit sous forme de complément
Utilisations spéciales de "l'opération ET":
(1) Effacer. Si vous souhaitez remettre une cellule à zéro, même si tous ses bits binaires sont 0, faites simplement ET avec une valeur dont les bits sont tous nuls, et le résultat sera zéro.
(2) Prendre le bit spécifié dans un nombre
Méthode : Trouver un nombre qui correspond au bit à prendre par position spécifiée dans X.
Exemple : Supposons que X=10101110,
prenons les 4 chiffres inférieurs de
Opérateur OR au niveau du bit (|)
Les deux objets participant à l'opération effectuent une opération "OU" basée sur des bits binaires.
Règles de fonctionnement : 0|0=0 ; 0|1=1 ; 1|0=1 ; 1|1=1 ; la valeur est 1.
Par exemple : 3|5 C'est 0000 0011 | 0000 0101 = 0000 0111 Par conséquent, 3|5 vaut 7.
De plus, les nombres négatifs participent aux opérations OU au niveau du bit sous forme de complément.
Fonction spéciale de « l'opération OU » :
Couramment utilisé pour définir 1 sur certaines positions d'une donnée.
Méthode : Trouver un nombre correspondant au bit de X à mettre à 1. Le bit correspondant du nombre est 1 et les bits restants sont zéro. Ce nombre est relatif à X ou définit une position dans X sur 1.
Exemple : définissez les 4 bits inférieurs de X=10100000 sur 1 et utilisez X | 0000 1111 = 1010 1111 pour l'obtenir.
Opérateur XOR (^)
Les deux données participant à l'opération effectuent une opération "XOR" basée sur des bits binaires.
Règles de fonctionnement : 0^0=0 ; 0^1=1 ; 1^0=1 ; 1^1=0 ; C'est-à-dire : deux objets participant à l'opération, si les deux bits correspondants sont "exclusifs" (la valeur est différente), le résultat de ce bit est 1, sinon il est 0.
Par exemple : 10^-9, soit 0000 1010 ^ 1111 0111 = 1111 1101 (code complémentaire). Le code d'origine est 1000 0011, soit 10^-9 = -3
La fonction spéciale de « l'opération XOR ». " :
(1) Retournez des bits spécifiques pour trouver un nombre qui correspond aux bits de
Exemple : X=10101110, retournez les 4 bits inférieurs de
(2) XOR avec 0, conserve la valeur d'origine, X ^ 0000 0000 = 1010 1110.
Échangez a et b
Méthode un, méthode deux
1.a=a^b 1.a= a-b
2.b=b^a 2.b= a+b
3. a=a^b 3.a= b-a
L'opérateur de décalage gauche (<<)
décale tous les bits binaires d'un opérande vers la gauche d'un certain nombre de bits (le bit binaire gauche est ignoré et le le bit de droite est rempli de 0).
Exemple : a = a << 2 Décalez les bits binaires de a vers la gauche de 2 bits, ajoutez 0 à droite,
Après avoir décalé 1 bit vers la gauche, a = a * 2 ;
Si le bit haut rejeté lors du décalage vers la gauche n'inclut pas 1, alors chaque décalage vers la gauche équivaut à multiplier le nombre par 2.
6. L'opérateur de décalage vers la droite (>>)
décale tous les chiffres binaires d'un nombre vers la droite d'un certain nombre de bits. Les nombres positifs sont complétés par 0, les nombres négatifs sont complétés par 1 sur le côté. gauche et le côté droit est écarté.
Chaque décalage vers la droite de l'opérande d'un bit équivaut à diviser le nombre par 2.
Par exemple : a = a >> 2 Décalez les bits binaires de a vers la droite de 2 bits,
ajoutez 0 ou 1 vers la gauche, selon que le nombre déplacé est positif ou négatif. L'opérateur
>> décale tous les bits de expression1 vers la droite du nombre de bits spécifié par expression2. Le bit de signe de expression1 est utilisé pour remplir les bits laissés vacants après le décalage vers la droite. Les bits décalés vers la droite sont supprimés.
Par exemple, une fois le code suivant évalué, la valeur de temp est -4 :
var temp = -14 >> 2
-14 (c'est-à-dire 11110010 en binaire) décalé de deux places vers la droite est égal à - 4 (soit 11111100 en binaire).
Opérateur de décalage à droite non signé (>>>)
>>> L'opérateur décale chaque bit de expression1 vers la droite du nombre de chiffres spécifié par expression2. Après le décalage vers la droite, les bits libérés à gauche sont remplis de zéros. Les bits décalés vers la droite sont supprimés.