[0001] La présente invention concerne la réalisation de l'opération de division de deux
nombres décimaux l'un par l'autre, et elle a plus particulièrement pour objet un dispositif
d'élaboration du quotient de cette division.
[0002] Pour réaliser une division entre deux nombres décimaux, on a généralement recours
à la conversion préalable en binaire, la division elle-même s'effectuant en binaire
et le résultat étant ultérieurement converti à nouveau en décimal ; la division binaire
s'effectue soit à l'aide d'un opérateur banalisé et piloté par un programme spécifique,
soit à l'aide d'un opérateur spécialisé. Toutefois, ces conversions représentent un
inconvénient que la présente invention permet d'éviter en réalisant l'opération de
division directement sur des nombres décimaux.
[0003] Il se pose alors le problème de l'estimation du quotient : à chaque étape de la division,
il faut estimer un chiffre décimal du quotient, puis multiplier le diviseur par ce
chiffre estimé et retrancher ce produit du dividende ou du reste partiel. Suivant
le résultat de cette soustraction (positif ou négatif, supérieur ou inférieur au diviseur),
il est ou non nécessaire de recommencer cette série d'opérations avec un nouveau chiffre
décimal, jusqu'à ce que soit obtenu un reste positif et plus petit que le diviseur.
Il apparaît que l'opération de division est d'autant plus longue que les estimations
sont rarement correctes.
[0004] La présente invention a pour objet un dispositif d'élaboration du quotient tel que
le chiffre estimé soit le chiffre correct plus d'une fois sur deux et que, dans les
autres cas, ce soit le chiffre qui est inférieur d'une unité au chiffre primitivement
estimé qui soit correct.
[0005] A cet effet, le diviseur selon l'invention comporte trois mémoires : les deux premières
ont un contenu identique, et reçoivent un nombre fini (n) de chiffres de poids les
plus forts respectivement du dividende et du diviseur ; dans un mode de réalisation,
ce nombre n est égal à deux ; chacune de ces mémoires fait correspondre aux chiffres
reçus un numéro de zone, c'est-à-dire que la suite des nombres formés pour ces n chiffres
(de 10 à 99 dans l'exemple précédent) est découpée en un nombre fini de zones ; la
troisième mémoire reçoit les deux numéros de zones fournis par les deux premières
mémoires ; dans cette troisième mémoire sont enregistrés les plus grands quotients
possibles pour chaque combinaison, ces quotients étant obtenus en divisant le plus
grand nombre compris dans la zone contenant le dividende par le plus petit nombre
compris dans la zone contenant le diviseur. La définition des zones dans les deux
premières mémoires est telle que le chiffre fourni par la troisième soit le quotient
correct plus d'une fois sur deux et que, dans le cas où il ne le serait pas, le quotient
correct soit le chiffre qui lui est inférieur d'une unité.
[0006] D'autres objets, caractéristiques et résultats de l'invention ressortiront de la
description suivante, donnée à titre d'exemple non limitatif et illustrée par les
dessins annexés qui représentent :
- la figure 1, le schéma général du dispositif selon l'invention ;
- la figure 2, un tableau explicatif du découpage en zones réalisé dans deux des mémoires
utilisées dans le dispositif selon l'invention ;
- la figure 3, un tableau explicatif du contenu de la troisième mémoire utilisée dans
le dispositif selon l'invention.
[0007] Sur ces différentes figures, les mêmes références se rapportent aux mêmes éléments.
[0008] Ce dispositif comporte trois mémoires repérées M
1, M
2 et M
3 qui sont de préférence des mémoires mortes (ou mémoires à lecture seule ou ROM).
[0009] La mémoire M
1 reçoit un nombre fini n de chiffres décimaux, ce nombre étant égal à deux dans ce
mode de réalisation et référencés d
11 et d
121 qui sont les chiffres de poids les plus forts du dividende (ou du reste partiel d'une
division en cours) D
l. Ces chiffres décimaux sont de préférence codés en binaire, à l'aide de tout code
connu, sur au moins quatre bits ; la mémoire M
1 comporte donc au moins huit entrées dans le cas où n = 2.
[0010] De façon analogue, la mémoire M
2 reçoit n chiffres décimaux, dans le cas de la figure : d
21 et d
22, codés sur quatre bits chacun, qui sont les deux chiffres de poids les plus forts
du diviseur D
2.
[0011] Chacune des mémoires M
1 et M
2 peut donc recevoir un nombre quelconque dans la suite des nombres de 10 à 99 si n
= 2. Ces mémoires ont pour fonction de découper cette suite de nombres de 10 à 99
en un certain nombre de zones numérotées et d'affecter au nombre reçu le numéro de
zone correspondant.
[0012] La figure 2 illustre un mode de découpage en zones, c'est-à-dire le contenu des mémoires
M
1 ou M
2, dans le cas où n = 2.
[0013] L'espace des nombres de 10 à 99 est divisé en seize zones, ce qui représente un compromis
satisfaisant entre la complexité et la précision, et qui permet en outre une numérotation
(hexadécimale) sur quatre bits. La figure 2 se présente sous la forme d'un tableau
dont la première colonne (1) représente les valeurs que peuvent prendre les nombres
d'entrée (d
11 - d
12 pour
M1 et
d21 -
d22 pour M
2) ; ces valeurs sont donc divisées en seize tranches et la deuxième colonne du tableau
(2) indique en représentation hexadécimale le numéro de la zone correspondante qui
est fourni sur la sortie (m
1 pour M
1 et m
2 pour M
2) de la mémoire. Par exemple, pour la deuxième zone, si d
11 est égal à 1 et d
12 est égal à 2, on se trouve dans la deuxième zone du tableau qui porte le numéro 1
et la mémoire M
1 fournit en conséquence une sortie m
1 égale à 1.
[0014] Il est par ailleurs à noter que les différentes zones sont de longueur inégale ;
en effet, le découpage en zones est fait suivant une série géométrique de raison
16√10, la borne théorique des zones étant toutefois arrondie au nombre entier le plus
proche. Le résultat de ces approximations est donné sur le tableau de la figure 2.
[0015] Si l'on se reporte à nouveau à la figure 1, on voit que la mémoire M
1 fournit donc le numéro de zone (m
l) dans laquelle sont compris les deux chiffres (
dll et d
12) de poids les plus forts du dividende (D
l) et que la mémoire M
2 fournit de la même manière le numéro de zone (m
2) dans laquelle est compris le nombre formé par les deux chiffres (
d21 et d
22) de poids les plus forts du diviseur (D
2). Ces deux numé-
ros de zones m
1 et m
2 sont dirigés vers la troisième mémoire (M
3) qui a pour fonction de fournir un nombre Q qui est le quotient estimé de la division
de D
1 par
D2.
[0016] A cet effet, la mémoire M
3 contient pour chaque valeur possible du couple m
1, m
2 le quotient maximum possible Q, obtenu en divisant le plus grand nombre compris dans
la zone contenant le dividende (m
1) par le plus petit nombre compris dans la zone contenant le diviseur (m
2).
[0017] la figure 3 illustre le contenu de la mémoire M
3 correspondant aux contenus des mémoires M
1 et M
2 décrits figure 2.
[0018] C'est un tableau à deux entrées dans lequel la première ligne (3) indique les valeurs
possibles de la variable m
2 et la première colonne (4) indique les valeurs possibles de la variable m
l. La valeur du quotient maximum Q est obtenue à l'intersection des valeurs correspondantes
de m
1 et m
2.
[0019] Pour m
1 = m
2, on a bien entendu Q = 1, ce qui constitue une diagonale du tableau. A droite de
cette diagonale, on a m
2 > m
1 c'est-à-dire que le diviseur est plus grand que le dividende : dans ce cas, la mémoire
M
3 fournit directement deux chiffres du quotient estimé, le premier étant 0.
[0020] Un important avantage de ce dispositif est que le quotient réel est, du fait de la
longueur choisie pour les zones, soit le quotient estimé dans plus d'un cas sur deux,
soit le chiffre qui lui est inférieur (du fait qu'il correspond au dividende maximum
et au diviseur minimum) d'une unité.
[0021] Ce dispositif d'estimation du quotient est destiné à faire partie d'un diviseur décimal,
qui comporte en outre au moins un multiplicateur, un sous- tracteur et des registres
mémoires, ces éléments permettant, ainsi qu'il est dit plus haut, de calculer le reste
partiel de la division, de vérifier que le quotient estimé est correct, de calculer
le nouveau reste, ainsi que de conserver les données et les résultats intermédiaires.
1. Dispositif d'élaboration d'un quotient de deux nombres décimaux, caractérisé par
le fait qu'il comporte : une première mémoire (Ml) recevant un nombre fini (n) de chiffres (dll, d12) de poids les plus forts du dividende ou du reste partiel ; une seconde mémoire (MZ) recevant le même nombre (n) de chiffres (d21, d22) de poids les plus forts du diviseur, la suite des nombres entiers formée par ces
chiffres étant découpée en un nombre fini de zones, chacune de ces mémoires contenant
des numéros affectés à chacune de ces zones et fournissant le numéro de la zone à
laquelle appartient le nombre formé par les chiffres d'entrée, ce dispositif comportant
en outre une troisième mémoire qui reçoit les numéros de zone fournis par les deux
premières mémoires, et qui contient et fournit, pour chaque combinaison possible de
ces deux numéros, le plus grand quotient possible.
2. Dispositif selon la revendication 1, caractérisé par le fait que la première (Ml) et la seconde (M2) mémoires reçoivent chacune un nombre (n) égal à deux chiffres d'entrée.
3. Dispositif selon l'une des revendications précédentes, caractérisé par le fait
que les zones comportent un nombre croissant de nombres entiers.
4. Dispositif selon la revendication 2, caractérisé par le fait que la suite des nombres
entiers de 10 à 99 est découpée en seize zones suivant une 1 6 progression géométrique
de raison 10.
5. Dispositif selon la revendication 1, caractérisé par le fait que les trois mémoires
sont des mémoires à lecture seule.
6. Diviseur décimal, caractérisé par le fait qu'il comporte un dispositif d'élaboration
du quotient de deux nombres décimaux selon l'une des revendications précédentes.