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

En effet, ce site est sympa smile
avatar
Membre 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
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.

5

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

6

heu

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

7

(0 est pas multiple de 2 ? trifus)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

8

Nan mais il a lu ça le pauvre grin
Note that 0 is incorrectly considered a power of 2 here
avatar
Combien 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 ?
avatar
Combien 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...
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.

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
avatar
Combien 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
avatar
Combien de tas de bois une marmotte pourrait couper si une marmotte pouvait couper du bois ?

15

0^2 = 1 ?
avatar

16

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

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 ...
avatar
Combien 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 !
avatar
Je 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
avatar
I'm on a boat motherfucker, don't you ever forget

22

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


trinon
avatar
HURRRR !

23

2^(2^n) tend vers 0 quand n tend vers l'infini en tout cas.
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

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
avatar
I'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.
Les droits inaliénables du troll :
1) le droit d'avoir raison
2) le droit d'être péremptoire
3) le droit de ne pas lire
4) le droit de ne pas répondre
5) le droit d'être de mauvaise foi
6) Autant pour moi / Faignant / Vivent Tintin et Milou

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)
avatar
HURRRR !

27

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

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.
avatar
I'm on a boat motherfucker, don't you ever forget