Maison développement back-end tutoriel php Introduction à l'utilisation de l'opération médiane php

Introduction à l'utilisation de l'opération médiane php

Jun 20, 2017 pm 01:32 PM
php Opérations sur les bits

phpLes opérations sur les bits ne sont pas couramment utilisées en PHP, mais elles sont très utiles. Présentons l'utilisation des opérations sur les bits PHP.

  • $a & $b et (ET au niveau du bit)

  • $a | $b ou (OU au niveau du bit)

  • $a ^ $b

  • $a << $b Décalage vers la gauche(décalage vers la gauche)

  • $ a >> $b Shift right(right Shift)

  • Explication détaillée
  • $a & $b Bitwise AND définit les bits dans $a et $b qui sont tous deux égaux à 1 à 1 ;

10 101012 11001000 8
$a | $b au niveau du bit OU définit l'un des $a ou $ b à 1;
Exemple : 10 | 12 = 14

10 1010
例:10 & 12 = 8
Copier après la connexion
12 1100

1110 14
$a ^ $b XOR au niveau du bit
Exemple : 10 ^ 12
10 1010
12 1100
0110 6
~a La notation bit à bit définit le 0 dans $a à 1 et le 1 à 0
Exemple : ~10 =
10 1010 1111111111111111111111111111111 11111111111110101 -11
$a << $b Déplacer vers la gauche $a vers la gauche $b fois (chaque mouvement signifie multiplier par 2
Exemple : 1 <& lt; Décalage gauche de 10 chiffres 10000000000(1024)
équivaut à 1*2 élevé à la puissance 10. C'est vraiment déprimant qu'il n'y ait pas d'opération de puissance en PHP.
$a >> $b right shift déplace la valeur de $a vers la droite $b fois (chaque déplacement signifie diviser par 2
Exemple : 1024 << 10000000000(1024) Décaler vers la droite de 2 bits est 100000000(256)
php est l'opération $a & $b et (ET au niveau du bit) $a $b | )~$a Pas (pas au niveau du bit)$a << $b Shift left(shift left)$a >> $b Shift right(shift right)
Explication détaillée de $a & $ b Bitwise AND définit les bits qui sont à la fois 1 dans $a et $b sur 1 ; Exemple : 10 & 12 = 810 101012 1100 1000 8
$a | $b Bitwise OR définit les bits dans $a ou $b Une valeur de 1. est défini sur 1 ; exemple : 10 | 12 = 1410 101012 1100 1110 14
$a ^ $b Exemple XOR au niveau du bit : 10 ^ 1210 101012 1100 0110 6
~a Bitwise NOT Le 0 dans $a est défini sur 1, et le 1 est défini sur 0. Exemple : ~10 = 10 1010 11111111111111111111111111111111111111111111111110101 -11
$a << ing par 2); exemple : 1 << 10 = 10241(1) Décaler vers la gauche de 10 chiffres 10000000000(1024) équivaut à 1*2 élevé à la puissance 10. Il n'y a pas d'opération d'exponentiation en PHP C'est vraiment déprimant.
$a > Le décalage de 2 bits est de 100000000(256)



La combinaison du champ drapeau et de l'
opérateur de bits




en PHP Liste des valeurs des paramètres pour error_reporting


1 E_ERROR


2 E_WARNING

  • 4 E_PARSE

  • 8 E_NOTICE

  • 16 E_CORE_ERROR

  • 32 E_CORE_WARNING



    64 E_COMPILE_ERROR


  • 128 E_COMPILE_WARNING


  • 256 E_

    USER_ERROR

  • 512 E_USER_WARNING

  • 1024 E_USER_NOTICE


  • 2047 E_ALL


  • 2048 E_STRICT


  • 4096 E_RECOVERABLE_ERROR

  • Je trouve que les valeurs​​de valeur sautent toutes, et elles sont toutes 2 à la puissance n+1

    . Regardez ce qui suit. Convertissez la valeur de value en binaire.
  • valeur constante

    0000 0001 E_ERROR

    0000 0010 E_WARNING
  • 0000 0100 E_PARSE
0000 1000 E_NOTICE

0001 0000 E_CORE_ERROR

00 10 0000 E_CORE_WARNING

.

.

.
… …Chaque fois qu'on en ajoute un à la puissance, un chiffre est ajouté au système binaire (presque tous ceux qui ont étudié l'informatique le savent :)…)
Remarque : Chaque option correspond à un chiffre (1 est Activer 0 pour l'éteindre)

D'accord, jetons un coup d'œil aux avantages de définir des paramètres comme celui-ci.

Prenons trois paramètres comme exemple pour voir l'effet


Obtenir les paramètres :

Le jugement indiquant si un certain élément est activé peut être obtenu en utilisant des opérations sur les bits (& - La règle "ET" signifie que tout 1 vaut 1, sinon c'est 0)

//E_PARSE

if($n & 4){

//E_PARSE est activé

//4 Le nombre binaire est 0100, car seul le troisième bit est 1, donc lorsque l'opération "&" est effectuée,
error_reporting(3);//decbin(3) == 0000 0011; (相当于设置 E_WARNING 和 E_ERROR )
error_reporting(4);//decbin(4) == 0000 0100;(相当于设置 E_PARSE )
error_reporting(5);//decbin(5) == 0000 0101;(相当于设置 E_PARSE 和 E_ERROR)
Copier après la connexion
les autres

positions sont toutes mises à 0

// Par conséquent, seul le troisième bit de $n est également 1 et le résultat sera supérieur à 0.

//Tels que 4(0100),5(0101),6(0110),7(0111)

}else{

//E_PARSE est fermé
//Le troisième bit est 0 Indique que cette option est désactivée
>
Modifier les paramètres : ($n représente la valeur décimale actuelle)
Pendant l'application, nous pouvons régler le commutateur sur un certain bit selon les besoins.
Voir utilisation ci-dessous.

//Fermez l'élément E_PARSE et utilisez la règle '&' « AND »
$n = $n&(8192-4-1);
//Pourquoi utiliser 8191 ?
//Cela a quelque chose à voir avec le nombre d'options dont vous disposez. Cette marque d'affichage d'erreur utilise un total de 13 bits (le nombre binaire de 4096 est de 13 bits), tandis que 8192 est (14 bits).
//Pourquoi est-il réduit de 4 et réduit de 1 ?
//8192-4-1=8187. (1111111111011) Le nombre binaire est composé de 13 chiffres, ce qui correspond au nombre maximum de chiffres que nous utilisons. Et la valeur correspondante dans le troisième bit est 0.
//Utiliser ce nombre pour effectuer une opération ET au niveau du bit avec n'importe quel nombre compris entre 1 et 4096. À l'exception du troisième bit, qui sera mis à 0, les valeurs des autres bits ne changeront pas ? Règle "ET":)
//De même, si vous souhaitez désactiver E_WARNING
//$n = $n&(8192-2-1);

//Pour activer le Élément E_PARSE, utilisez la règle ' |'"ou"
$n = $n|4;
//Après avoir lu la clôture ci-dessus, vous aurez peut-être quelques idées sur l'ouverture :)
// '|' — Règle "ou" S'il y a 1, c'est 1, sinon c'est 0
//Ce qui précède est que lorsque tous les bits sont à 1, cela n'affecte pas les autres bits. Maintenant, cela devient le cas lorsque tous les bits sont à 0. , cela n'affecte pas les autres bits :)
// Il nous suffit donc de définir la valeur correspondante du bit binaire de l'opérande suivant sur 1, et tous les autres bits sur 0 seront OK.
//L'avez-vous trouvé ? Il s'agit de la valeur décimale correspondant à chacun de nos éléments de paramétrage :


Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Guide d'installation et de mise à niveau de PHP 8.4 pour Ubuntu et Debian Dec 24, 2024 pm 04:42 PM

PHP 8.4 apporte plusieurs nouvelles fonctionnalités, améliorations de sécurité et de performances avec une bonne quantité de dépréciations et de suppressions de fonctionnalités. Ce guide explique comment installer PHP 8.4 ou mettre à niveau vers PHP 8.4 sur Ubuntu, Debian ou leurs dérivés. Bien qu'il soit possible de compiler PHP à partir des sources, son installation à partir d'un référentiel APT comme expliqué ci-dessous est souvent plus rapide et plus sécurisée car ces référentiels fourniront les dernières corrections de bogues et mises à jour de sécurité à l'avenir.

Date et heure de CakePHP Date et heure de CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler avec la date et l'heure dans cakephp4, nous allons utiliser la classe FrozenTime disponible.

Discuter de CakePHP Discuter de CakePHP Sep 10, 2024 pm 05:28 PM

CakePHP est un framework open source pour PHP. Il vise à faciliter grandement le développement, le déploiement et la maintenance d'applications. CakePHP est basé sur une architecture de type MVC à la fois puissante et facile à appréhender. Modèles, vues et contrôleurs gu

Téléchargement de fichiers CakePHP Téléchargement de fichiers CakePHP Sep 10, 2024 pm 05:27 PM

Pour travailler sur le téléchargement de fichiers, nous allons utiliser l'assistant de formulaire. Voici un exemple de téléchargement de fichiers.

CakePHP créant des validateurs CakePHP créant des validateurs Sep 10, 2024 pm 05:26 PM

Le validateur peut être créé en ajoutant les deux lignes suivantes dans le contrôleur.

Comment configurer Visual Studio Code (VS Code) pour le développement PHP Comment configurer Visual Studio Code (VS Code) pour le développement PHP Dec 20, 2024 am 11:31 AM

Visual Studio Code, également connu sous le nom de VS Code, est un éditeur de code source gratuit – ou environnement de développement intégré (IDE) – disponible pour tous les principaux systèmes d'exploitation. Avec une large collection d'extensions pour de nombreux langages de programmation, VS Code peut être c

Guide rapide CakePHP Guide rapide CakePHP Sep 10, 2024 pm 05:27 PM

CakePHP est un framework MVC open source. Cela facilite grandement le développement, le déploiement et la maintenance des applications. CakePHP dispose d'un certain nombre de bibliothèques pour réduire la surcharge des tâches les plus courantes.

Comment analysez-vous et traitez-vous HTML / XML dans PHP? Comment analysez-vous et traitez-vous HTML / XML dans PHP? Feb 07, 2025 am 11:57 AM

Ce tutoriel montre comment traiter efficacement les documents XML à l'aide de PHP. XML (Language de balisage extensible) est un langage de balisage basé sur le texte polyvalent conçu à la fois pour la lisibilité humaine et l'analyse de la machine. Il est couramment utilisé pour le stockage de données et

See all articles