Bonjour,

Je dois faire un programme pour configurer des registres dans un composant et je sèche.

Nom des variables (toutes les variables sont des entiers positifs non nuls) :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
a : nombre compris entre 64 000 et 1 000 000 000
b : nombre compris entre 1 000 et 1 000 000
c : nombre compris entre 1 et 65 534 (variable stockée sur 16 bits)
d : nombre compris entre 1 et 4 094 (variable stockée sur 12 bits)
e : nombre compris entre 1 et 16 777 214 (variable stockée sur 24 bits)
const1 : vaut 6 250 000
const2 : vaut 16 777 200
const3 : vaut 1522
Les formules sont :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
a = const1 x c / d
b = 8 x (const2  - e) / d
d x const3 < e
La fonction dont les paramètres d'entrées sont les variables a et b doit calculer la valeur des variables c, d et e.
=> vu que l'on travail sur des nombres entiers avec des plages de valeurs limitées, le calcul ne peut être exacte pour toutes les valeurs de a et b passées en paramètre (il y aura forcement un pourcentage d'erreur sur le calcul) : Lorsque l'on fait le calcul inverse, il faut que le pourcentage d'erreur sur la variable "a" soit inférieur à 0.5% et pour la variable "b" inférieur à 5%.
=> je ne sais par où commencer

Toute aide sera la bienvenue
Merci d'avance