Blog Emmanuel Orchanian

astuce bdd bureautique codage culture débat design énigme français hacking html mathématiques méthodologie santé typographie 

 

 [192 vues] 2022-02-08 Emmanuel Orchanian

NOTE : cet article a été affiché dans sa langue originale.

Des chiffres et des lettres 📺😉


    Un MOT    est composé de LETTRES
    Un NOMBRE est composé de CHIFFRES
Différence entre un nombre et un chiffre
Différence entre un nombre et un chiffre

Par exemple, le MOT "maison" est composé de 5 LETTRES :
"m", "a", "i", "s", "o", "n".
Le NOMBRE 181120 est composé de 6 CHIFFRES :
"1", "8", "1", "1", "2", "0".

Remarque, un nombre peux avoir un seul chiffre, (comme un mot peux être composé d'une seule lettre). Un nombre sans chiffre vaut 0.

10 chiffres arabes

Nous utilisons 10 chiffres arabes : 1 2 3 4 5 6 7 8 9 et le 0

Autres chiffres

Certains langues utilisaient des lettres comme des chiffres

Chiffres romains

    I 1
    V 5
    X 10
    L 50
    C 100
    D 500
    M 1000

Chiffres arméniens

Voici l'alphabet arménien où chaque lettre est également un chiffre

Alphabet arménien
Alphabet arménien
Numérotation arménienne
Chiffres arméniens

ՍԴ = 2000 + 4 = 2004

Quizz : entre quel nombre et quel nombre pouvons nous écrire ?

La page Wikipédia contient quelques exemples

Et le système était (ou est) similaire chez les grecs, les hébreux.

Saviez-vous que les lettres latines sont aussi des chiffres ?

Eh oui ! la lettre "A" vaut 10, c'est alors le "chiffre A", "B" vaut 11, "C" vaut 12 (...)
et "Z" vaut 36

Base 36

C'est la base qui utilise, après les 10 chiffres arabes, les 26 lettres de l'alphabet latin (sans distinguer les minuscules des majuscules).
Elle est utilisée comme base maximale de la fonction PHP base_convert().

Base 62

  1. chiffres arabes (x10)
  2. lettres latines MAJUSCULES (x26)
  3. lettres latines minuscules (x26)
10 + 26 + 26 = 62 chiffres

    0 vaut 0
    1 vaut 1
    2 vaut 2
    3 vaut 3
    4 vaut 4
    5 vaut 5
    6 vaut 6
    7 vaut 7
    8 vaut 8
    9 vaut 9
    A (majuscule) vaut 10
    B vaut 11
    C vaut 12
    D vaut 13
    E vaut 14
    F vaut 15
    G vaut 16
    H vaut 17
    I vaut 18
    J vaut 19
    K vaut 20
    L vaut 21
    M vaut 22
    N vaut 23
    O vaut 24
    P vaut 25
    Q vaut 26
    R vaut 27
    S vaut 28
    T vaut 29
    U vaut 30
    V vaut 31
    W vaut 32
    X vaut 33
    Y vaut 34
    Z vaut 35
    a (minuscule) vaut 36
    b vaut 37
    c vaut 38
    d vaut 39
    e vaut 40
    f vaut 41
    g vaut 42
    h vaut 43
    i vaut 44
    j vaut 45
    k vaut 46
    l vaut 47
    m vaut 48
    n vaut 49
    o vaut 50
    p vaut 51
    q vaut 52
    r vaut 53
    s vaut 54
    t vaut 55
    u vaut 56
    v vaut 57
    w vaut 58
    x vaut 59
    y vaut 60
    z vaut 61

On l'appelle base 62 car il y a 62 symbole, même si le "z" final vaut 61, il ne faut jamais oublier le zéro qui compte toujours pour un chiffre en plus !

Si on ne distingue pas majuscule et minuscule

Alors on aurait une base 36 (lien Wikipédia)

Hexadécimal

hexadeci signifie "seize" en latin, et c'est quand on utilise 16 chiffres, puisque le zéro compte pour un chiffre, donc on s'arrête à 15 maxium, ici on peux se rendre compte que le 15, c'est le "chiffre F", donc on a 0 1 2 3 4 5 6 7 8 9 A B C D E F (en minuscule ça fonctionne aussi)

Et si on veux plus de chiffres ?

Plus on en a plus on en veux ! 😁

Si on veux plus de chiffres que 62 chiffres (10 chiffres arabes + 26 lettres latines majuscules + 26 lettres latins minuscules ), il n y a pas vraiment de règles définies, chacun fait comme il sent.

On pourrait par exemple utiliser les symboles visibles de l'ASCII :

    !"#$%&'()*+,-./
    0123456789:;<=>?
    @ABCDEFGHIJKLMNO
    PQRSTUVWXYZ[\]^_
    `abcdefghijklmno
    pqrstuvwxyz{|}~

base 93

Et si on veux moins de chiffres ?

Ben oui on a le droit d'enlever des chiffres !

Par exemple l'octal ne va avoir que 8 chiffres : 1234567 et 0

Le binaire ne va avoir que 2 chiffres : 0 et 1

Quelques anecdotes

  • Le chiffres ne sont pas obligatoire pour compter, par exemple les mayas utilisaient des symboles superposés
  • La plupart des anciens peuplent ne comptaient pas sur leurs 10 doigts mais sur les 8 espaces entre les doigts
    (ne me dites pas que vous venez de vérifier !), ainsi le chiffre "9" était le "nouveau chiffre", c'est pour ça que dans beaucoup de langage, neuf s'appelle neuf, 9 c'est le "chiffre neuf", il est nouveau comme un "objet neuf"
  • Le chiffre zéro n'a pas toujours existé car il représente l'absente. Zéro est l'abréviation de "zéphiro", qui signifie "vent", c'est du vent quoi ! (le zéphir).

Voilà, c'était une petit introduction en douceur, de manière vulgarisée, aux bases arithmétiques !
J'espère que vous avez aimé, si c'est le cas n'hésitez pas à m'encourager en mettant un commentaire sur Linkedin ! Merci !

Bonus : Exemple de cryptage

Puisqu'on a vu que les lettres pouvaient être des chiffres, donc les mots en alphabet latin strict (sans accents ni ponctuations) seraient des nombres !

Par exemple bonjour (base )


    // CRYPTAGE
    echo base_convert('bonjour',36,10); // 25435343763
    echo intval('bonjour',36); // 25435343763

    // DÉCRYPTAGE
    echo base_convert('25435343763',10,36); // 'bonjour'

    // ATTENTION ! les grands nombres buguent

Liens


    module.exports = function base_convert (number, frombase, tobase) { // eslint-disable-line camelcase
        //  discuss at: https://locutus.io/php/base_convert/
        // original by: Philippe Baumann
        // improved by: Rafał Kukawski (https://blog.kukawski.pl)
        //   example 1: base_convert('A37334', 16, 2)
        //   returns 1: '101000110111001100110100'
        return parseInt(number + '', frombase | 0)
        .toString(tobase | 0)
    }

    // ÉCRITURE SIMPLIFIÉE
    function baseConvert (number, frombase, tobase) {
        return parseInt(number + '', frombase | 0).toString(tobase | 0)
    }

Merci d'avoir lu !
Si en général vous avez une question, une curiosité, n'hésitez pas me contacter.