420 231--Travail pratique #0--Énoncé
Ce qui suit constitue l'énoncé du travail pratique #0 (TP0).
Raccourcis vers les prototypes de sous-programmes demandés
Contraintes générales à respecter
Vous devrez:
Détail de l'énoncé
Le travail consiste à implanter cinq (5) sous-programmes permettrant de manipuler des bits et des octets.
Ces sous-programmes respecteront les prototypes suivants:
////////////////////////////////////////////////////////////
// Nom: Lire_Bit
// Intrant(s):
// Mot: entier duquel lire un bit
// Position: position du bit à lire
// Extrant(s):
// retourne «true» si le bit à la position «Position» dans
// l'entier «Mot» a la valeur 1, et «false» sinon
// Description:
// Retourne la valeur du bit à la position «Position» dans
// l'entier «Mot»
////////////////////////////////////////////////////////////
bool Lire_Bit (unsigned short Mot, unsigned char Position);
|
////////////////////////////////////////////////////////////
// Nom: Forcer_Bit
// Intrant(s):
// Mot: entier dans lequel forcer un bit
// Position: position du bit à forcer
// Valeur: valeur à affecter au bit
// Extrant(s):
// Mot: entier dans lequel le bit aura été forcé
// Description:
// Affecte la valeur «Valeur» au bit à la position
// «Position» dans l'entier «Mot»
////////////////////////////////////////////////////////////
void Forcer_Bit (unsigned short &Mot,
unsigned char Position,
bool Valeur);
|
////////////////////////////////////////////////////////////
// Nom: Inverser_Bit
// Intrant(s):
// Mot: entier dans lequel inverser un bit
// Position: position du bit à inverser
// Extrant(s):
// Mot: entier dans lequel le bit aura été inversé
// Description:
// Inverse la valeur du bit à la position «Position»
// dans l'entier «Mot»
////////////////////////////////////////////////////////////
void Inverser_Bit (unsigned short &Mot,
unsigned char Position);
|
////////////////////////////////////////////////////////////
// Nom: Lire_Octet
// Intrant(s):
// Mot: entier duquel lire un octet
// Partie: partie du mot à lire (partie haute ou basse)
// Extrant(s):
// retourne la valeur de l'octet lu
// Description:
// Retourne la valeur de la partie «Partie» du mot «Mot»
////////////////////////////////////////////////////////////
unsigned char Lire_Octet (unsigned short Mot,
partie_de_mot Partie);
|
////////////////////////////////////////////////////////////
// Nom: Forcer_Octet
// Intrant(s):
// Mot: entier dans lequel forcer un octet
// Partie: partie de mot à forcer
// Valeur: valeur à affecter à l'octet
// Extrant(s):
// Mot: entier dans lequel l'octet aura été forcé
// Description:
// Affecte la valeur «Valeur» à la partie «Partie» de
// l'entier «Mot»
////////////////////////////////////////////////////////////
void Forcer_Octet (unsigned short &Mot,
partie_de_mot Partie,
unsigned char Valeur);
|
////////////////////////////////////////////////////////////
// Nom: Tester_Bit
// Intrant(s):
// Mot: entier duquel tester un bit
// Position: position du bit à tester
// Valeur: valeur pour à laquelle comparer ce bit
// Extrant(s):
// retourne «true» si le bit à la position «Position» dans
// l'entier «Mot» a la valeur «Valeur», et «false» sinon
// Description:
// Vérifie si la valeur d'un bit de l'entier passé en
// paramètre est identique à celle spécifiée à l'appel
////////////////////////////////////////////////////////////
bool Tester_Bit (unsigned short Mot,
unsigned char Position,
bool Valeur);
|
////////////////////////////////////////////////////////////
// Nom: Imprimer_Mot_Binaire
// Intrant(s):
// Mot: entier à afficher
// Extrant(s):
// aucun
// Description:
// Affiche la valeur binaire d'un entier
////////////////////////////////////////////////////////////
void Imprimer_Mot_Binaire (unsigned short Mot);
|
Note:
|
la procédure «Imprimer_Mot_Binaire()», si elle reçoit l'entier «139» (ou «0x008B»), devra afficher «0000000010001011».
|
Raccourcis vers les prototypes de sous-programmes demandés