Adloun

NSI (première) · Chapitre 2 · Exercice de TD

Dérouler le calcul du développement binaire de

Flottants, booléens et textes · Écriture binaire et pièges des flottants · niveau 2

Énoncé

Dérouler le calcul du développement binaire de . Retrouve-t-on la période de ? Expliquer sans refaire le calcul.

Corrigé

Le déroulé. : bit ; : bit ; : bit , reste ; : bit , reste — déjà vu. Donc

périodique de période 0011.

La même période, et l'on pouvait le prévoir. , et multiplier par en base deux revient à décaler la virgule d'un rang, exactement comme multiplier par en base dix. Les chiffres ne changent pas, ils glissent : le développement de était , celui de est le même amputé de son premier zéro. La période 0011 est donc nécessairement identique.

Contrôle : on retrouve les mêmes bits à la machine.


def developpement_binaire(x, n):
    """Les n premiers bits apres la virgule de x, 0 <= x < 1."""
    assert 0.0 <= x < 1.0, "x doit appartenir a [0, 1["
    bits = ""
    for _ in range(n):
        x = x * 2
        if x >= 1:
            bits, x = bits + "1", x - 1
        else:
            bits = bits + "0"
    return bits

>>> developpement_binaire(0.1, 12)
'000110011001'
>>> developpement_binaire(0.2, 12)
'001100110011'

Le second est bien le premier décalé d'un rang.

100 % gratuit

Essaie le suivant avec le tuteur

Faire l'exercice suivant avec le tuteur

Sans compte : le cours, 2 minutes de podcast et de vidéo et un exercice avec le tuteur. Pour tout le reste : inscription gratuite en 30 secondes, sans carte bancaire.

Le cours du chapitre · Tous les exercices du chapitre

Exercice suivant avec le tuteur →