l56 Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 Bonjour, y'a t-il une fonction qui me permettrait de connaitre les drapeaux utilisés dans un nombre. Ex: 1 2 4 8 16 32 64 ... si j'ai 22, comment récupurer la liste des nombres utilisés ? merciL56
Patrick_35 Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 Salut Un vite fait (defun bits(nb / n lst) (foreach n '(1 2 4 8 16 32 64 128 256 512 1024 2048 4096 8192 16384 32768 65536) (or (zerop (logand nb n)) (setq lst (cons n lst)) ) ) (reverse lst) ) (bits 22) --> (2 4 16) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
Patrick_35 Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 Un peu plus évolué de manière itérativ (gile va bien en faire une récusive ;) ) (defun bits(nb / n lst) (setq n 1) (while (> nb 0) (or (zerop (logand nb n)) (setq lst (cons n lst) nb (- nb n) ) ) (setq n (* n 2)) ) (reverse lst) ) @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
l56 Posté(e) le 20 septembre 2007 Auteur Posté(e) le 20 septembre 2007 Merci. Toujours aussi efficace ! Bonne journéebye
(gile) Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 gile va bien en faire une récusive Une récursive : (defun bits (n / b) (if (/= 0 n) (cons (setq b (expt 2 (fix (/ (log n) (log 2))))) (bits (- n b)) ) ) ) Et une itérative : (defun bits (n / b l) (while (/= 0 n) (setq b (expt 2 (fix (/ (log n) (log 2)))) l (cons b l) n (- n b) ) ) l ) Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
Bred Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 Rien à voir, désolé : citation extraite du message original:gile va bien en faire une récusive Une récursive :(...) (gile) m'ecoeure de plus en plus....Il me fait penser à ce que l'on dit sur le dessinateur de BD Moebius : si un jours vous avez envies de vous mettre à la BD, ne regardez pas ce qu'il fait, vous trouverez ça tellement parfait que vous serez dégoutez avant de commencer....(citation d'Eddy MITCHEL je crois) Ben, pour (gile) c'est pareil, au niveau du lisp.... Si vous êtes persuadés de tout savoir sur un sujet, c''est que vous en ignorez quelque chose...
(gile) Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 J'avais déjà cette fonction (peut-être même déjà publiée ici) je n'ai fait que la traduire avec un while pour le fun. J'ai retrouvé, c'était ici et j'en avais donné une autre version là, en fait j'avais pensé un temps à un "challenge" sur cr thème. [Edité le 20/9/2007 par (gile)] Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
sechanbask Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 (gile) m'ecoeure de plus en plus....Il me fait penser à ce que l'on dit sur le dessinateur de BD Moebius : si un jours vous avez envies de vous mettre à la BD, ne regardez pas ce qu'il fait, vous trouverez ça tellement parfait que vous serez dégoutez avant de commencer....(citation d'Eddy MITCHEL je crois) Ben, pour (gile) c'est pareil, au niveau du lisp.... C'est vrai que j'aurais bien voulu comprendre le Lisp et en faire mais le niveau est tellement élevé, que ça m'a dégouté et du coup, je pousse bien fort sur le VBA. P.S. tout comme un certain Bjorn Berge m'a dégouté de la guitare... Pour ceux qui ne connaissent pas, il fait en de moment une tournée en France, je vais le revoir le 28 novembre au Confort Moderne à Poitiers (86). [Edité le 20/9/2007 par sechanbask] ATEGIE - Bureau d'Études Fluideshttp://www.ategie.fr/uploads/ategie/ategie-at%C3%A9gie-bureau-%C3%A9tudes-etudes-fluides-logo-100x56.pngExécution, Synthèse, Conception, Maîtrise d'Oeuvre, Audit, Chiffragewww.ategie.fr
Patrick_35 Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 mais le niveau est tellement élevé, que ça m'a dégouté Il ne faut pas. :(J'ai vu (gile) progresser, comme Bred qui maintenant arrive à faire des choses sympas :)On a tous commencé comme vous, tout doucement.Je vois des lisps qui pourraient être amélioré (et aucun commentaires désobligeants de la part de ceux qui maitrisent bien le lisp, au contraire), mais chaque choses vient en son temps.Le principal, c'est que son auteur soit satisfait du résultat.Ce qui est bien aussi avec des personnes comme (gile), c'est qu'on peut admirer le style, s'en inspirer afin de se perfectionner et d'évoluer ainsi petit à petit. C'est grâce à ces petits morceaux de lisps que l'on arrive à progresser.Surtout n'abandonnez pas, car vous avez sur ce site des personnes pleines de bonnes volontés et qui n'hésitent pas à partager leurs temps et leurs connaisances. @+ Les Lisps de PatrickLe but n'est pas toujours placé pour être atteint, mais pour servir de point de mire.Joseph Joubert, 1754-1824
(gile) Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 Patrick_35 a tout dit, je n'aurais rien à ajouter si ce n'est que, si je suis sensible au "style", ce n'est pas ça le principal et certaines routines bien que fort élégantes sont parfois moins performantes que que d'autres qui semblent "moins bien tournées" (l'utilisation de la récursivité est un bon exemple, les routines souvent plus concises sont généralement moins rapides que leurs équivalentes itératives). Gilles Chanteau - gileCAD - GitHub Développements sur mesure pour AutoCAD
lili2006 Posté(e) le 20 septembre 2007 Posté(e) le 20 septembre 2007 Bonsoir à toutes et tous, Patrick_35 à raison : Il ne faut pas. et sechanbask aussi : C'est vrai que j'aurais bien voulu comprendre le Lisp et en faire mais le niveau est tellement élevé, que ça m'a dégouté et du coup, je pousse bien fort sur le VBA., par contre, j'apprécie personnellement également beaucoup tes interventions sechanbask, car le VBA est aussi trés puissant et il est bien de pouvoir tout utiliser, même si pour le moment on comprend pas tout, en conclusion : On a tous commencé comme vous, tout doucement. Te plaind pas, sechanbask , moi je n'ai encore aucun terrain "fort", mais cette situation ne me gène pas trop, car comme dis Patrick_35 : Surtout n'abandonnez pas, car vous avez sur ce site des personnes pleines de bonnes volontés et qui n'hésitent pas à partager leurs temps et leurs connaisances., et ils se reconnaitrons,.. Encore une fois, merci à vous tous car maintenant, j'ai vraiment envie de passer à la vitesse supérieure et c'est grace à vous (et oui, même grace à toi sechanbask,..... A trés bientôt. Civil 3D 2025 - COVADIS_18.3b https://www.linkedin...3%ABt-95313341/
l56 Posté(e) le 21 septembre 2007 Auteur Posté(e) le 21 septembre 2007 Ce site n'est pas seulement sympa pour les informations que l'on y trouve mais aussi et surtout pour la mentalité des ces principaux adherents.Ce fil de discution en est un bel exemple. merci à tous.L56
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant