1

Voilà je voudrais savoir si dans TIGCC il existe une fonction capable de faire des puissance de 2 ou bien plus avec des entier du type short ou long... Et non avec des float?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

2

he bien il y a le décalage qui s'en rapproche: x>>2 décalera x de 2 bit a droite(division par 2^2) et x<<3 décalera de 3 bits a gauche(multiplication par 2^3)
avatar

3

1<<x = 2x.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4

je dirais même plus: x<<y => x*2y
avatar

5

Bas oui tout simplement un decalage. sad lol

Merci beaucoup.

C'est vraiment une question ***
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

6

Je crois qu'on avait discuté d'un truc sur notre forum à propos de puissances de deux. Je l'ai retrouvé ces derniers jours, il faut que je voie si ça convient...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

7

geogeo : pour des puissances autres que 2, un simple décalage ne suffira pas wink
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

8

*******

9

Mais tout se décompose en puissance de deux smile

(pour trouver ta décomposition, fait un algo genre ln(x)/ln(2), tu en prends la partie entière=z, x-=2z et tu recommences)

10

bof
avatar
;)

11

bah si smile

12

Ya pas une fonction de ce style dans TIGCC?
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

13

(pour trouver ta décomposition, fait un algo genre ln(x)/ln(2), tu en prends la partie entière=z, x-=2z et tu recommences)
dans ce cas la c'est pas plus simple d'utiliser ln(x^y)=y*ln(x) ?
avatar

14

unsigned long x=3,y=3,z=1;
while(--y) z*=x;

Mets ce que tu veux pour x et y, z vaudra toujours xy.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

15

Certes mais je ne pense pas que ce soit la méthode optimale pour les puissance élevées.
Et ca ne marche qu'avec les entiers
avatar

16

Uther Lightbringer
a écrit : Et ca ne marche qu'avec les entiers

Mais c'est le but!
geogeo a écrit :
Voilà je voudrais savoir si dans TIGCC il existe une fonction capable de faire des puissance de 2 ou bien plus avec des entier du type short ou long... Et non avec des float?


Pour les nombres à virgule flottante, il y a pow.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

17

Quant à l'optimalité, je ne pense pas qu'on puisse faire plus petit. smile
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

18

je parlais bien sur en vitesse, optimiser en taille c'est bien mais il y a des fois ou optimiser en vitessse est important aussi.
avatar

19

tu fait une série de add.w ou add.b wink
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

20

unsigned long puissance(unsigned short a, unsigned short b)
{
  unsigned long sol=1;
  while(b) {
    if(b%2)
      sol *= a;
    a *= a;
    b /= 2;
  }
  return sol;
}


C'est l'algorithme d'exponentiation rapide, prouvé comme étant optimal. Il se base sur la remarque:
x^y = {  (x^(y/2))² si y est pair
         { x*(x^((y-1)/2))² si y est impair

C'est un coût logarithmique par rapport à y, donc c'est mieux que le coût linéaire de Kevin, mais bon c'est vrai que sur Ti, les puissances sont pas énormes donc la différence est minime pour une (petite) perte de place.
avatar
;)

21

Tu appelles ça "optimal", toi???
if (b%2) -> if (b&1)
b /= 2; -> b >>= 1;
(Oui, le compilateur sait faire ça lui-même, mais ce n'est pas une bonne raison de ne pas le faire!)
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

22

Erf. Le coût est optimal... pas l'implémentation... roll
avatar
;)

23

Je dis LOL !

Comme tous les compilateurs modernes optimisent, je trouve inutile de sacrifier la lisibilité pour obtenir le même résultat. Son ALGORITHME est optimal, et dans la mesure où il est implémenté pour un compilateur puissant, je trouve l'implémentation parfaite : lisible.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.