Ce script convertit un nombre entre la base 10, la base 3 et la base ±3.
Méthodes
Conversion de base 10 en base 3
Le reste de la division par 3 donne le dernier chiffre, on recommence avec le quotient
exemple : 19:3=6 reste 1, 6:3=2 reste 0, 2:3=0 reste 2, donc 19=2013
Conversion de base 3 en base 10
On commence par le premier chiffre, on multiplie par trois et on ajoute le suivant
Exemple : 21013 2*3+1=7 puis 7*3+0=21 puis 21*3+1=64
Conversion de base 3 en base ±3
On commence par le dernier chiffre. 0 et 1 donnent 0 et +1, 2 donne -1 et j'ajoute 1 au chiffre précédent.
S'il était=2, il devient 0 avec la retenue qui se propage.
Exemple 1122 : 2 donne -1, retenue 1. 2+1=3 donne 0, retenue 1. 1+1=2 donne -1, retenue 1.
1+1=2 donne -1 retenue 1.
(0)+1=1 donne +1 et finalement +--0-
Conversion de base ±3 en base 3
Même principe, mais la retenue est à retrancher. -1 donne 2 retenue 1, 0 donne 0, +1 donne 1 et -2 donne 1 avec retenue 1.
Exemple +--0- : - donne 2, retenue 1. 0-1=-1 donne 2 retenue 1. -1-1=-2 donne 1 retenue 1.
-1-1=-2 donne 1 retenue 1.
+1-1=0 donne 0 et finalement (0)11223 Ce processus se termine car le premier chiffre ternaire est toujours un + pour les nombres positifs.
Conversion de base ±3 en base 10
Même méthode que de base 3 en base 10, avec les poids +1, -1 et 0 au lieu de 0, 1 et 2
Exemple : +-0+ = +33-32+0*31+30=27-9+0+1=19
ou 1*3-1=2, 2*3+0=6, 6*3+1=19