Als je het absurde aanneemt, kan je het tegenover gestelde bewijzen ??
je weet hoe je een bepaalde bit kunt testen? Dan kun je toch ook gewoon met een loopje alle bits afgaan en ze testen?
Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.
Verwijderd
Voor 8 bit :
v = (v & 0x55) + ((v >> 1) & 0x55);
v = (v & 0x33) + ((v >> 2) & 0x33);
return (v & 0x0f) + ((v >> 4) & 0x0f);
voor 32 bit integer:
#define g31 0x49249249ul // = 0100_1001_0010_0100_1001_0010_0100_1001
#define g32 0x381c0e07ul // = 0011_1000_0001_1100_0000_1110_0000_0111
v = (v & g31) + ((v >> 1) & g31) + ((v >> 2) & g31);
v = ((v + (v >> 3)) & g32) + ((v >> 6) & g32);
return (v + (v >> 9) + (v >> 18) + (v >> 27)) & 0x3f;
Welkom in de wereld van de bit-trucs
v = (v & 0x55) + ((v >> 1) & 0x55);
v = (v & 0x33) + ((v >> 2) & 0x33);
return (v & 0x0f) + ((v >> 4) & 0x0f);
voor 32 bit integer:
#define g31 0x49249249ul // = 0100_1001_0010_0100_1001_0010_0100_1001
#define g32 0x381c0e07ul // = 0011_1000_0001_1100_0000_1110_0000_0111
v = (v & g31) + ((v >> 1) & g31) + ((v >> 2) & g31);
v = ((v + (v >> 3)) & g32) + ((v >> 6) & g32);
return (v + (v >> 9) + (v >> 18) + (v >> 27)) & 0x3f;
Welkom in de wereld van de bit-trucs
het probleem is dat als ik een for loop doe dat er een stop conditie is die getest moet worden, en daar hebben we effe geen tijd voor.
De CPU probeert uitereerd vooruit te werken door haar pipelines maar overspelbaar gedrag heeft ze een hekel aan want dan kan ze niet vooruit werken.
De CPU probeert uitereerd vooruit te werken door haar pipelines maar overspelbaar gedrag heeft ze een hekel aan want dan kan ze niet vooruit werken.
[ Voor 1% gewijzigd door ajslaghu op 20-02-2003 11:19 . Reden: typo ]
Als je het absurde aanneemt, kan je het tegenover gestelde bewijzen ??
Nog wat pagina's:
Population count of a 32-bit register (met uitleg), Source code for low level binary functions (van alles en nog wat).
In AMD's x86 code optimization guide (22007) staan ook een aantal geoptimaliseerde versies (onder andere een MMX versie voor 64-bits integers)
Population count of a 32-bit register (met uitleg), Source code for low level binary functions (van alles en nog wat).
In AMD's x86 code optimization guide (22007) staan ook een aantal geoptimaliseerde versies (onder andere een MMX versie voor 64-bits integers)
Pagina: 1