Exo Grand Entier détection dépassement

Identification

Infoforall

2 - Exercices Grand entier


Fiche d'exercices totalement corrigée.

01° Quel entier est encodé par un ensemble composé de deux octets dont le premier vaut 30 et le deuxième 100 ?

...REPONSE ATTENDUE...

L'octet de poids fort compte pour 256 ou 28.

L'octet de poids faible compte pour 1, comme d'habitude.

N = 30*256 + 100 = 7780

ou

N = 30*28 + 100 = 7780

02° Quel entier est encodé par un ensemble composé de quatre octets dont le premier vaut 30, le deuxième 100, le troisième 4 et le dernier 50 ?

...REPONSE ATTENDUE...

L'octet de poids fort compte pour 2563 ou 224.

Le deuxième octet compte pour 2562 ou 216.

Le troisième octet compte pour 2561 ou 28.

L'octet de poids faible compte pour 1, comme d'habitude.

N = 30*2563 + 100*2562 + 4*256 + 50 = 509871154

ou

N = 30*224 + 100*216 + 4*28 + 50 = 509871154

03° Réaliser l'addition bit à bit des deux octets A et B suivants :

A =  0101 0111  2.

B =  0000 1111  2.

Question : avez-vous constaté un dépassement ?

Vous pouvez cliquer sur les cases pour modifier le contenu.

Nombre A 0101 0111
Nombre B 0000 1110
Retenue ?
N = A + B

...REPONSE ATTENDUE...

Nombre A 0101 0111
Nombre B 0000 1110
Retenue ? +1+1 +1+1
N = A + B 0110 0101

Pas de dépassement puisqu'on ne va pas devoir "stocker" un résultat dans un bit inexistant.

04° Réaliser l'addition bit à bit des deux octets A et B suivants :

A =  1101 0111  2.

B =  1111 0000  2.

Question : avez-vous constaté un dépassement ?

Vous pouvez cliquer sur les cases pour modifier le contenu.

Nombre A 0101 0111
Nombre B 1111 0000
Retenue ?
N = A + B

...REPONSE ATTENDUE...

Nombre A 0101 0111
Nombre B 1111 0000
Retenue ? +1+1+1
1 arrive ici ! 0100 0111

Dépassement puisqu'on a besoin d'un 9e bit pour stocker correctement le résultat.

05° Comment détecter un dépassement causé par une addition C = A + B sur un ordinateur ?

...REPONSE ATTENDUE...

Il suffit de vérifier les deux assertions suivantes :

  • C > A
  • C > B

06° On fait calculer par ordinateur C = A + B avec :

  • A = 1000
  • B = 10000
  • C = 248

Comment faire vérifier l'invalidité du calcul à l'ordinateur ?

...REPONSE ATTENDUE...

Il suffit de vérifier que l'une au moins des assertions n'est pas bonne :

  • 248 > 1000 : FAUX
  • 248 > 10000 : FAUX

07° On fait calculer par ordinateur C = A + B avec :

  • A = 1000
  • B = 10000
  • C = 10100

Comment faire vérifier qu'il n'y a pas eu de dépassement ?

...REPONSE ATTENDUE...

Il suffit de vérifier que les assertions sont vraies :

  • 10100 > 1000 : VRAI
  • 10100 > 10000 : VRAI

08° Comment détecter un dépassement causé par une multiplication C = A * B sur un ordinateur ?

...REPONSE ATTENDUE...

Il suffit de vérifier que si B est différent de 0, alors on obtient A en calculant C // B.

09° On fait calculer par ordinateur C = A * B avec :

  • A = 1000
  • B = 10000
  • C = 38528

Comment faire vérifier l'invalidité du calcul à l'ordinateur ?

...REPONSE ATTENDUE...

Il suffit de vérifier par division qu'on ne retrouve pas A en calculant C // B :

  • C // B = 38528 // 10000 = 3 :
  • L'assertion A = C // B est donc FAUX.

10° On fait calculer par ordinateur C = A * B avec :

  • A = 1000
  • B = 10000
  • C = 10000000

Comment faire vérifier qu'il n'y a pas eu de dépassement ?

...REPONSE ATTENDUE...

Il suffit de vérifier qu'on retrouve bien A en effectuant la division C // B :

  • C // B = 10000000 // 10000 = 1000
  • L'assertion A = C // B est donc VRAI.

Activité publiée le 18 03 2022
Dernière modification : 18 03 2022
Auteur : ows. h.