Base d'or - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs de cet article est disponible ici.

Non-unicité

Comme avec tout système de numération de base n, les nombres dont le développement est fini peuvent s'écrire de plusieurs façons. En base 10, cela est relié à l'observation suivante : si x = 0,9999... alors 10x = 9,99999... donc 9x = 9 et x = 1. En base \varphi\, , le nombre 0,1010101... peut être vu comme égal à 1 de plusieurs manières :

  • Conversion d'une forme non-standard : 1  = 0,11_{\varphi} = 0,1011_{\varphi} = 0,101011_{\varphi} = \ldots = 0,10101010 \ldots_{\varphi}\,
  • Série géométrique : 1,0101010 \ldots_{\varphi}\, est égal à
\sum_{k=0}^\infty \varphi^{-2k}=\frac{1}{1-\varphi^{-2}} = \varphi
  • Différence entre deux « déplacements » : \varphi^2 x - x = 10,101010 \ldots_{\varphi} - 0,101010 \ldots_{\varphi} = 10_{\varphi} = \varphi\, c'est-à-dire x = \varphi/(\varphi^2-1) = 1\,

Cette non-unicité est une spécificité du système de numération, puisque 1,0000 et 0,101010... sont tous les deux dans la forme standard.

Représenter les entiers sous forme de nombres en base d'or

Nous pouvons, soit considérer nos entiers comme étant les (seuls) chiffres d'une base \varphi\, non-standard, et les standardiser, soit faire ce qui suit :

Notez que :

1 \times 1 = 1\,
\varphi \times \varphi = 1 + \varphi\,
\frac{1}{\varphi} = -1 + \varphi .

Par conséquent, nous pouvons calculer

(a + b \varphi) + (c + d \varphi) = ((a + c) + (b + d)\varphi), (a + b\varphi) - (c + d\varphi) = ((a - c) + (b - d)\varphi)\, .

et

(a + b\varphi) \times (c + d\varphi) = ((a \times c + b \times d) + (a \times d + b \times c + b \times d)\varphi)\, .

Ainsi, en utilisant les valeurs entières seulement, nous pouvons ajouter, soustraire et multiplier des nombres de la forme (a + b \varphi)\, , et même représenter des puissances entières positives et négatives de \varphi\, ;. (Notez que \varphi^{-1} = \frac{1}{\varphi} .)

(a + b \varphi) > (c + d \varphi) si et seulement si 2(a - c) - (d - b) > (d - b) \times \sqrt 5\,. Si un côté est négatif, l'autre côté est positif, la comparaison est triviale. Autrement, élever au carré les deux côtés, pour obtenir une comparaison entière, renverser la comparaison si les deux côtés étaient négatifs. Lors de l'élévation au carré des deux côtés, \sqrt 5\, est remplacé par l'entier 5.

Ainsi, en utilisant les valeurs entières seulement, nous pouvons aussi comparer les nombres de la forme (a + b \varphi)\, .

  1. Pour convertir un entier x en un nombre en base- \varphi\, , notez que x = (x + 0 \varphi)\, .
  2. Soustraire la plus haute puissance de \varphi\, , laquelle est encore plus petite que le nombre que nous avons, pour extraire un nouveau nombre, et placer un « 1 » dans la place appropriée dans le nombre en base- \varphi\, .
  3. Jusqu'à ce que notre nombre soit 0, aller à l'étape 2.
  4. Fini.

La procédure ci-dessus ne donnera jamais la suite « 11 », puisque 11_{\varphi} = 100_{\varphi}\, , donc obtenir un « 11 » voudrait dire que nous avons manqué un « 1 ».

C’est-à-dire : démarrons avec l'entier 5, le résultat étant \ldots 00000,00000 \ldots_{\varphi}\,

La plus haute puissance de \varphi \le 5 est \varphi^3 = 1 + 2 \varphi \approx 4,236067977\,

En soustrayant ceci de 5, nous avons 5 - (1 + 2 \varphi) = 4 - 2 \varphi \approx 0,763932023 \ldots\, , le résultat étant alors 1000,00000100_{\varphi}\,

La plus haute puissance de \varphi \le 4 - 2 \varphi \approx 0,763932023 \ldots\, est \varphi^{-1} = -1 + 1 \varphi \approx 0,618033989 \ldots\,

En soustrayant ceci de 4 - 2 \varphi \approx 0,763932023 \ldots\, , nous avons 4 - 2 \varphi - (-1 + 1 \varphi) = 5 - 3 \varphi \approx 0,145898034 \ldots , le résultat étant alors 1000,10000 \ldots_{\varphi}\,

La plus haute puissance de \varphi \le 5 - 3 \varphi \approx  0,145898034 \ldots est \varphi^{-4} = 5 - 3 \varphi \approx 0,145898034 \ldots \,

En soustrayant ceci de 5 - 3 \varphi \approx 0,145898034 \ldots\, , nous avons 5 - 3 \varphi - (5 - 3 \varphi) = 0 + 0 \varphi = 0\, , avec le résultat final :

1000,1001_{\varphi}\, .

Addition, soustraction et multiplication

Il est possible d'adapter tous les algorithmes standards de l'arithmétique de la base 10 pour l'arithmétique de la base \varphi\, . Il y a deux approches pour cela :

Calculer puis convertir en forme standard

Pour l'addition de deux nombres en base \varphi\, , ajouter chaque paire de chiffres, sans retenue, puis convertir le nombre en forme standard. Pour la soustraction, déduire chaque paire de chiffres sans retenue, puis convertir le nombre en forme standard. Pour la multiplication, multiplier de façon habituelle, sans retenue, puis convertir le nombre en forme standard.

Par exemple

  • 2+3 = 10,01 + 100,01 = 110,02 = 110,1001 = 1000,1001
  • 2×3 = 10,01 × 100,01 = 1000,1 + 1,0001 = 1001,1001 = 1010,0001
  • 7-2 = 10000,0001 - 10,01 = 10010,0101 = 1110,0101 = 1001,0101 = 1000,1001

Éviter les chiffres autres que 0 et 1

Une approche plus « naïve » est d'éviter d'avoir à ajouter les chiffres 1+1 ou soustraire 0-1. Ceci est réalisé en réorganisant les opérandes en forme non-standard pour que ces combinaisons n'apparaissent pas. Par exemple

  • 2+3 = 10,01 + 100,01 = 10,01 + 100,0011 = 110,0111 = 1000,1001
  • 7-2 = 10000,0001 - 10,01 = 1100,0001 - 10,01 = 1011,0001 - 10,01 = 1010,1101 - 10,01 = 1000,1001

La soustraction vue ici utilise une forme modifiée de l'algorithme d'échange standard pour la soustraction.

Page générée en 0.574 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales
Version anglaise | Version allemande | Version espagnole | Version portugaise