Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

changement de base

3 réponses
Avatar
Sébastien Kirche
Bonjour (et bonne rentrée à tous ;)

je n'arrive pas à retrouver un truc dans le manuel ni sur le net :
comment représenter un nombre dans une base n.

Il y a peu j'étais tombé sur une fonction du genre (int-to-string nombre
base) mais plus moyen de la retrouver. Il me semble que ça permettait de
représenter des valeurs dans des bases de 2 à ~30. J'ai cherché avec
"base" et "radix" mais rien trouvé de pertinent.

Un coup de pouce ?
--
Sébastien Kirche

3 réponses

Avatar
Vincent Belaïche
Calc parmet de faire ça.

En lisp:

(require 'calc-ext)
(defvar calc-command-flags)
(message "10 en base 7=%s" (calc-eval "10"))


Avec l'interface Calc

C-x * * ; entrer dans la calculette
C-u 7 d r ; mettre la base à 7
10 <ret> ; pousser 10 sur la pile


À+
Vincent.



Sébastien Kirche a écrit :
Bonjour (et bonne rentrée à tous ;)

je n'arrive pas à retrouver un truc dans le manuel ni sur le net :
comment représenter un nombre dans une base n.

Il y a peu j'étais tombé sur une fonction du genre (int-to-string nombre
base) mais plus moyen de la retrouver. Il me semble que ça permettait de
représenter des valeurs dans des bases de 2 à ~30. J'ai cherché avec
"base" et "radix" mais rien trouvé de pertinent.

Un coup de pouce ?
Avatar
Sébastien Kirche
Le 6 septembre 2009 à 11:17, Vincent Belaïche s'est exprimé ainsi :

Calc parmet de faire ça.

En lisp:

(require 'calc-ext)
(defvar calc-command-flags)
(message "10 en base 7=%s" (calc-eval "10"))


Avec l'interface Calc

C-x * * ; entrer dans la calculette
C-u 7 d r ; mettre la base à 7
10 <ret> ; pousser 10 sur la pile



Je note. Mais il m'avait semblé que c'était possible avec un simple
appel elisp. Je ne retrouve pas et ça m'agace :oS
--
Sébastien Kirche
Avatar
Vincent Belaïche
Salut,

Je me réponds à moi-même car je m'aperçois que j'avais oublié le plus
important dans le code lisp donné en exemple:


(require 'calc-ext)
(defvar calc-command-flags)
(calc-radix 7) ;<- oublié dans mon message précédent
(message "10 en base 7=%s" (calc-eval "10"))


Note aussi que le langage Lisp permet d'écrire directement des nombres dans
une autre racine que 10, par exemple voici 10 en base 10, 2, 8, 16 et 7:

10
#b1010
#o12
#xA
#7r13

Vincent.

Vincent Belaïche a écrit :
Calc parmet de faire ça.

En lisp:

(require 'calc-ext)
(defvar calc-command-flags)
(message "10 en base 7=%s" (calc-eval "10"))


Avec l'interface Calc

C-x * * ; entrer dans la calculette
C-u 7 d r ; mettre la base à 7
10 <ret> ; pousser 10 sur la pile


À+
Vincent.



Sébastien Kirche a écrit :
Bonjour (et bonne rentrée à tous ;)

je n'arrive pas à retrouver un truc dans le manuel ni sur le net :
comment représenter un nombre dans une base n.

Il y a peu j'étais tombé sur une fonction du genre (int-to-string nombre
base) mais plus moyen de la retrouver. Il me semble que ça permettait de
représenter des valeurs dans des bases de 2 à ~30. J'ai cherché avec
"base" et "radix" mais rien trouvé de pertinent.

Un coup de pouce ?