Aller au contenu

La fonction blog

Pour parler du nombre d'opérations de l'algorithme de dichotomie, on rappelle ici la définition de la fonction blog, qui a été définie dans le chapitre sur l'écriture des entiers positifs.

Définition de la fonction blog

Définition

Tout entier naturel n (non nul) est compris entre deux puissances de 2: 2^k \leqslant n < 2^{k+1}.

Le nombre k sera appelé blog(n).

Remarque: blog(n) est donc le plus grand des entiers i vérifiant 2i ≤ n.

Lien avec l'écriture binaire d'un entier

Propriété

Le nombre de chiffres dans l'écriture en base 2 d'un entier naturel n (non nul) est égal à blog(n)+1.

Calcul de blog(n) par une fonction python

def blog(n):
    """
    n -- entier naturel non nul
    renvoie blog(n)
    """
    k = 0
    p = 1 # contiendra les puissances de 2 successives
    while p <= n:
        k += 1
        p *= 2
    return k-1

Exercice

Donner les valeurs de blog(1), blog(2), blog(3), blog(4).

Solution
  • 2^0 \leqslant 1 < 2^1: blog(1) = 0.
  • 2^1 \leqslant 2 < 2^2: blog(2) = 1.
  • 2^1 \leqslant 3 < 2^2: blog(3) = 1.
  • 2^2 \leqslant 4 < 2^3: blog(1) = 2.