1

J'ai un lien qui traine depuis longtemps sur mon PC mais qui je pense peut aider pas mal de programmeurs à optimiser leurs programmes...
http://graphics.stanford.edu/~seander/bithacks.html
Amusez-vous bien, ce site est très intéressant.
avatarla 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

En effet, ce site est sympa smile
avatarMembre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

3

J'en connaissais la plupart. D'autres, je préfère laisser ca aux optimiseurs des compilateurs. Sinon c'est un très bon résumé de ce qui existe sur le sujet.
Il manque quand même les codes avec instruction assembleurs : count leading zeros se fait en une instruction assembleur sur pentium. Tout comme compter le nombre de zéro dans un entier (C'est pour ca que des extensions GNU permettant de les calculer sont apparus :
— Built-in Function: int __builtin_ffs (unsigned int x)
— Built-in Function: int __builtin_clz (unsigned int x)
— Built-in Function: int __builtin_ctz (unsigned int x)
— Built-in Function: int __builtin_popcount (unsigned int x)
— Built-in Function: int __builtin_parity (unsigned int x)
)

4

heu
Determining if an integer is a power of 2

unsigned int v; // we want to see if v is a power of 2
bool f; // the result goes here

f = (v & (v - 1)) == 0;

Note that 0 is incorrectly considered a power of 2 here. To remedy this, use:

f = !(v & (v - 1)) && v;


f = v && !(v&0x1); suffit largement que je sache
avatarProud 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.

5

heu...
tu confondrais pas puissance de deux et multiple de deux, a tout hasard? trifus
avatarHURRRR !

6

heu

zzz
avatarProud 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.

7

(0 est pas multiple de 2 ? trifus)

8

Nan mais il a lu ça le pauvre grin
Note that 0 is incorrectly considered a power of 2 here
avatarCombien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

9

Twindruff (./8) :
Note that 0 is incorrectly considered a power of 2 here


pourquoi ça ?

10

0 n'est pas une puissance de 2 pourquoi ? pourquoi quoi en fait tongue ?
avatarCombien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

11

ben essaye d'obtenir 0 avec n'importe quel puissance...
avatarProud 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.

12

Non en fait le posais pas de question, je sais bien que 0 n'est pas une puissance de 2... j'aime pas qu'on me mette des "..." alors je me venge
j'ai mal formulé ma phrase, je demandais à Yourk pourquoi il disait pourquoi tongue
avatarCombien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

13

0^x fait bien zéro (pour x>0) non ?

14

non ça fait 1 happy
avatarCombien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

15

0^2 = 1 ?
avatar

16



tongue
avatarMon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.

17

0² = 0 * 0 = 0 confus
Alors là j'apprends quelque chose !
avatar« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

18

T'as raté des posts Sasume?
avatarMon journal de bord <flux rss manuel> asTI68k : WIP </flux>

Le modernisme ne diffère guère de la libre pensée absolue que par sa prétention de demeurer catholique.

19

Yourk (./13) :
0^x fait bien zéro (pour x>0) non ?
Thepro (./15) :
0^2 = 1 ?

rotfl encore lu trop vite, j'ai cru que Yourk demandait x^0 (x>0)
Yourk (./13) :
0^x fait bien zéro (pour x>0) non ?

ben oui mais 0 n'est pas 2
donc "Note that 0 is incorrectly considered a power of 2 here" est bien vrai.
Que de blabla pour pas grand chose tous ces posts ...
avatarCombien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

20

Une « puissance de 2 » est de la forme « 2N », et non de la forme « N2 » (ça c'est un carré).
Par contre, on peut avoir 0 = 2N... avec N valant “moins l'infini” tongue !
avatarJe ne suis pas développeur Java : je suis artiste Java.
Ce que l’on conçoit bien s’énonce clairement, / Et le code pour l’écrire arrive aisément.
Hâtez-vous lentement ; toujours, avec méthode, / Vingt fois dans l’IDE travaillez votre code.
La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer.
You don't use science to show that you're right, you use science to become right.

21

2^32 = 0
avatarI'm on a boat motherfucker, don't you ever forget

22

BOOL is_moumou_right(void)
{
  return (((unsigned __int64)1 << 32) == 0);
}


trinon
avatarHURRRR !

23

2^(2^n) tend vers 0 quand n tend vers l'infini en tout cas.

24

bref 2^(int_size) = 0 on se comprend.

ce que je veux dire c'est qu'on peut très bien considérer 0 comme une puissance de 2, après tout, quand on travaille dans Z/(2^N)Z. C'est en tout cas moins débile que de dire 2^(-l'infini) = 0, parce qu'au moins dans mon cas on a une structure algébrique intéressante, contrairement à l'exemple d'Ethaniel smile
avatarI'm on a boat motherfucker, don't you ever forget

25

Si 0 est une puissance de 2 alors l'anneau n'est pas intègre, donc non ce n'est pas une structure algébrique très intéressante.

26

./24}
>
#if     defined(_X_64_)
#define int_size        (double)(sizeof(__int64) * 8)
#else
#define int_size        (double)(sizeof(int) * 8)
#endif

BOOL is_moumou_right(void)
{
  return (pow(2.0, int_size) == 0.0);


trifus (non mais oui, ok grin)
avatarHURRRR !

27

(ou bien #define int_size (double)(sizeof(void*) * 8), au choix embarrassed)
avatarHURRRR !

28

Hippopotame (./25) :
Si 0 est une puissance de 2 alors l'anneau n'est pas intègre, donc non ce n'est pas une structure algébrique très intéressante.

Bof, Z/nZ est une structure intéressante même quand Z n'est pas premier.
avatarI'm on a boat motherfucker, don't you ever forget