Forum Graph100

Forum Graph100

Vous n'êtes pas identifié.

Annonce

Bonjour et bienvenue sur le nouveau Forum Graph100 !
L'intégralité des données a été transférée sur un forum PunBB et tout les comptes sont fonctionnels avec le même nom d'utilisateur et mot de passe.
Un wiki est aussi disponible avec le même compte ! N'oubliez pas de remettre votre avatar, bon surf !
Pour plus d'informations, consultez ce post.

#1 11 Oct 2003 03:43:04

Overlord
Membre Communauté Graph100
Lieu: Bruxelles (BE)
Date d'inscription: 09 Mar 2003
Messages: 276
Site web

multiplication par décalage

qqun veut bien expliquer au pauvre inculte que je suis ce que c'est, comment ça marche et si ça fait des grosses différences avec la multiplication ordinaire  :?:


Pour comprendre la récursivité, il faut d'abord comprendre la récursivité

Hors ligne

 

#2 11 Oct 2003 04:18:16

Azor
Le Coté Obscur De La G100
Lieu: glop glop!
Date d'inscription: 04 May 2002
Messages: 5479
Site web

Re: multiplication par décalage

voila la différénce:

a*5 = a*4+a*1 = a<<2 + a

hos ça prend 3 instruction asm pour la multiplication par décalage, une pr la multiplication classique, mais cette instruction la dure plus longtemps !!


Anciennement X-thunder28
Cats shall rule teh world!

Hors ligne

 

#3 11 Oct 2003 05:07:15

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: multiplication par décalage

Le probleme des multiplications (mul en asm), c que c une instruction très lourde pour le processeur (la division c encore pire) comparé aux opérations élémentaires d'addition, de décalage, ou les instructions logique (and, or, not). Donc en général on essaie d'éviter de l'utiliser, spécialement qd le facteur de la multiplication est "presque" un multiple de 2.
En binaire multiplier par deux ca consiste à rajouter un zéro derriere le nombre (cfr multiplier par 10 en décimal); donc il suffit de décaler de 1 bit vers la gauche le registre qui contient le nombre, et le tour est joué. Si on veut multiplier par 3, il suffit de garder dans un autre registre le nbre de départ, le décaler de 1 bit, puis additionner le nombre sauvegardé, ca fait plusieurs opérations mais ca reste bien plus rapide que de demander une multiplication par 3. Idem pour multiplier par 5, sauf qu'on décale de 2 bits avant d'additionner (comme X-thunder vient de l'écrire).
Pour la division c moins pratique, en général on utilise ca uniquement pour des diviseurs multiples de 2; diviser par 8 revient à décaler de 3 bits vers la droite par exemple (ca sera tjs une division entiere).


Pensez à surveiller mes releases wink

Hors ligne

 

#4 11 Oct 2003 07:17:50

C@siomax
Programmeur Graph100
Lieu: Grenoble, au QG de fmw-product
Date d'inscription: 03 Feb 2002
Messages: 3042
Site web

Re: multiplication par décalage

regarde mon tuto chapitre VIII wink smile


:mrd: :mrd:
.·´¯`·.¸.-> Casiomax <-·´¯`·.¸.·

Statut: indéfini

Hors ligne

 

#5 11 Oct 2003 10:58:59

scq
IsCachE Pour vous ServiR
Lieu: Gièvres (41 / Tours (37)
Date d'inscription: 25 Mar 2002
Messages: 2846

Re: multiplication par décalage

en fait, vous utilisez la même méthode que pour les proc RISC ?


la naissance, la jouissance et la mort sont les moments les plus courts de la vie, mieux vaut ne pas les rater.

Hors ligne

 

#6 11 Oct 2003 13:42:19

Overlord
Membre Communauté Graph100
Lieu: Bruxelles (BE)
Date d'inscription: 09 Mar 2003
Messages: 276
Site web

Re: multiplication par décalage

ah je vois. donc on gagne pas grand chose au niveau sur ordi pour des progs basiques (c'est parce qu'on a un cours d'info en java et que j'ai vu des << et >> qq part je me demandais justement ce que c'était)

euh mais avec la prog sur des legos mindstorms c'est intéressant ou pas là (je connais pas du tout et je veux pas un robot qui rame sur une autoroute)


Pour comprendre la récursivité, il faut d'abord comprendre la récursivité

Hors ligne

 

#7 11 Oct 2003 22:02:42

2072
Programmeur Graph100
Lieu: Somewherebourg
Date d'inscription: 29 Jan 2002
Messages: 2056
Site web

Re: multiplication par décalage

en principe les compilateurs modernes savent très biens faire ce genre d'optimisations...


-~2072~-
Paid Emails
[URL=http://www.2072productions.com]2072productions.com[/URL]
[URL=http://www.casiocalc.org]casiocalc.org[/URL]

Hors ligne

 

#8 12 Oct 2003 05:27:15

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: multiplication par décalage

euh mais avec la prog sur des legos mindstorms c'est intéressant ou pas là (je connais pas du tout et je veux pas un robot qui rame sur une autoroute)

Non là c pas intéressant du tout, choisis plutot un OS bien adapté avec ce que tu veux faire (LegOS devrait convenir) wink
(Mais ca m'étonnerait que ton robot doive pouvoir dépasser les voitures qui roulent à 120 km/h non?  lol )


Pensez à surveiller mes releases wink

Hors ligne

 

#9 12 Oct 2003 05:33:58

Overlord
Membre Communauté Graph100
Lieu: Bruxelles (BE)
Date d'inscription: 09 Mar 2003
Messages: 276
Site web

Re: multiplication par décalage

à mon avis tout sera imposé... (pq leur simulateur de robots qu'on utilise pour tester nos pitis progs, il est pas parfaitement régulier, y a des à-coups (ce qui fait que quand on met une vitesse énorme, il se téléporte parfois  :ptdr: ))


Pour comprendre la récursivité, il faut d'abord comprendre la récursivité

Hors ligne

 

#10 12 Oct 2003 05:35:36

Julien
C++iste convaincu
Lieu: Waterloo (Be)
Date d'inscription: 29 May 2002
Messages: 1456
Site web

Re: multiplication par décalage

Ah, vous avez pas non plus le choix du matos? Nous apparemment on nous laisse le NQC ou le C (LegOS)  roll
Vous avez quoi comme simulateur?


Pensez à surveiller mes releases wink

Hors ligne

 

#11 12 Oct 2003 07:19:50

Overlord
Membre Communauté Graph100
Lieu: Bruxelles (BE)
Date d'inscription: 09 Mar 2003
Messages: 276
Site web

Re: multiplication par décalage

nous on est des débutants, on prog depuis même pas 1 mois, alors nous laisser un choix ils ne le feraient pas. le simulateur de robots est un de leurs programmes auquel on n'a (normalement) pas accès.


Pour comprendre la récursivité, il faut d'abord comprendre la récursivité

Hors ligne

 

Pied de page des forums

Propulsé par PunBB
© Copyright 2002–2005 Rickard Andersson
Traduction par punbb.fr