Vous n'êtes pas identifié.
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 :?:
Hors ligne
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 !!
Hors ligne
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).
Hors ligne
en fait, vous utilisez la même méthode que pour les proc RISC ?
Hors ligne
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)
Hors ligne
en principe les compilateurs modernes savent très biens faire ce genre d'optimisations...
Hors ligne
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)
(Mais ca m'étonnerait que ton robot doive pouvoir dépasser les voitures qui roulent à 120 km/h non? )
Hors ligne
à 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: ))
Hors ligne
Ah, vous avez pas non plus le choix du matos? Nous apparemment on nous laisse le NQC ou le C (LegOS)
Vous avez quoi comme simulateur?
Hors ligne
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.
Hors ligne