Général
- Présentation
- Les Symboles
- Les Métacaractères
- Les Ancres et Classes
- Les options
- Constantes prédéfinies
- Equivalences
- Créer un motif
- Les POSIX
- Les PCRE
- Les Plus des PCRE
- Les Assertions Part I
- Les Assertions Part II
- Motif conditionnel
- Mysql et les regex
- Url Rewriting
- Optimisation
- Aide mémoire
Les PCRE
Les POSIX
Pratique
Linux
Spécial php
- Conseils et Astuces
- Délimiteur PCRE
- Créer une bdd
- Utiliser du BBcode
- Le binaire
- Faire un panier
- Cases à cocher
- Citations imbriquées
- Colorateur syntaxique
- Les list-box ou combo-box
- Faire un diaporama
- Isset ou empty ?
- Une légende au survol
- Site en plusieurs langues
- Requêtes dynamiques
- Gestion des smiley
- Faire un moteur de template
- Timestamp php/mysql
- Timestamp mysql
- Matcher une adresse email
- Controler des données
Les billets de fred
- Les POSIX... mise en pratique !
- Limiter l'accès à un répertoire
- Alternance de couleurs
- Magic_quotes
- Désactiver les short_tags
- Require ou include : Bench
- Cohérence dans les chaines de caractères
- "echo" : lapin ou tortue ?
- Gérer un formulaire avec plusieurs boutons
- Le formulaire a t'il été soumis ?
- J'ai décidé de grossir
- La guerre des étoiles
- La guerre des boutons
- Headers already sent
- IP, IP, IP, houra !
- Créer un itérateur avec PHP5
- On vous conduit vers la lumière
- Comment utiliser MySQL avec PHP
- Non aux booléens !
- Php.ini : dist /recommended
- Include : gouffre ou fêlure ?
- Simple comme les sessions !
- Simplifier le traitement des erreurs
- Structurez vos applications
- Franchement, t'es trop for !
- Notice: Undefined variable (ou index)
- Proscrire les variables auto déclarées
Binaire, vous avez dit binaire ?
Le langage binaire qu'est ce que c'est ?Moi qui suis sorti de l'école avec une formation d'électro-mécanicien (en 1978 bouuuuh, mais c'est loin en plus), je pourrais vous dire que le langage binaire peut être comparé l'interrupteur électrique de l'entrée de votre appart, de votre salon ou de votre cuisine. Quand vous actionnez le levier, l'interrupteur adopte une des deux positions suivantes :
- ouvert -> le courant ne passe pas -> on peut dire qu'on est en position 0
- fermé -> le courant passe -> on peut donc dire qu'on est en position 1
On retrouve le même principe en logique pneumatique par exemple ou les circuits sont ouverts ou fermés. Dans notre mode d'expression verbale, la notion d'une affirmation par exemple, on pourra dire que 0 est équivalent à FAUX et 1 équivalent à VRAI.
Et voilà, tout est dit, vous avez maintenant une notion du binaire :
binaire => base2 =>0 pour FAUX, 1 pour VRAI.
Ce principe, nommé base binaire (Binary Digit en anglais => bit) est le langage compris et utilisé par un ordinateur pour traiter les données.
Contrairement à la machine, nous, les humains, nous travaillons sur une base de dix chiffres :
0,1,2,3,4,5,6,7,8,9 donc on utilise un système en base10 appellé système décimal
Revenons à notre code binaire et à son écriture. On travaille donc avec les puissances de 2 et on a donc autant de valeurs que l'on a de puissance de 2 (2^n)
On va prendre un exemple sur 4 bit, on aura donc : 2^4 soit 16 combinasons possibles.
Avec 3 bit, on aurait 2^3 valeurs codables, soit 8 possibilités.
Exemple :
| 0 | 0 | 0 |
| 0 | 0 | 1 |
| 0 | 1 | 0 |
| 0 | 1 | 1 |
| 1 | 1 | 1 |
| 1 | 1 | 0 |
| 1 | 0 | 1 |
| 1 | 0 | 0 |
| Nombre de combinaisons possibles sur 8 bits (un octet) | ||||||||
| Tous les bits sont à zéro, on a donc : | ||||||||
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 | Valeur = 0 |
| 1*2^7 | 1*2^6 | 1*2^5 | 1*2^4 | 1*2^3 | 1*2^2 | 1*2^1 | 1*2^0 | |
| 128 | 64 | 32 | 16 | 8 | 4 | 2 | 1 | Total 255 |
| Exemple représentation du nombre 27 sur 8bit | ||||||||
| 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | Valeur = 27 |
| Exemple représentation du nombre 255 sur 8bit | ||||||||
| 1 | 1 | 1 | 1 | 1 | 1 | 1 | 1 | Valeur = 255 |
Je vais vous expliquer la manière de calculer, c'est très simple.
Reprenons notre ligne avec le nombre 27 converti en binaire.
| 0*2^7 | 0*2^6 | 0*2^5 | 1*2^4 | 1*2^3 | 0*2^2 | 1*2^1 | 1*2^0 | |
| 0 | 0 | 0 | 1 | 1 | 0 | 1 | 1 | Valeur = 27 |
| 0 | 0 | 0 | 16 | 8 | 0 | 2 | 1 | 27 |
On remarque que l'on à le chiffre 1 dans quatre cases, correspondant respectivement aux calculs suivant :
1*2^4 + 1*2^3 + 1*2^1 + 1*2^0
On lit nos opérations et on constate que l'on a :
1 multiplié par 2 puissance 4 soit 2*2*2*2 = 16
plus
1 multiplié par 2 puissance 3 soit 2*2*2 = 8
plus
1 multiplié par 2 puissance 1 soit 2*1 = 2
plus
1 multiplié par 2 puissance 0 soit 2*0 = 1
ce qui nous donne un total de 27
Conclusion : sur un octet, il y a 2^8 combinaisons soit 256
Le chiffre le plus petit étant le 0 et le plus grand 255.
