28.02.2012, 11:33
BitPos, retorna o nъmero em que a posiзгo do ъnico bit true й dada, ъtil para ґarraysґ de bits, pra poupar espaзo e colocar vбrios atributos (true/false) em uma ъnica variavel int.
Teste:
Resultado:
pawn Код:
#define bit_pos(%0) (1 << (%0-1))
pawn Код:
#include <a_samp>
#define bit_pos(%0) (1 << (%0-1))
main () {
new a = -2;
while(++a < 100)
printf("%d - %d", a, bit_pos(a));
quit();
}
Код:
[13:31:40] -1 - 1073741824 [13:31:40] 0 - -- [13:31:40] 1 - 1 [13:31:40] 2 - 2 [13:31:40] 3 - 4 [13:31:40] 4 - 8 [13:31:40] 5 - 16 [13:31:40] 6 - 32 [13:31:40] 7 - 64 [13:31:40] 8 - 128 [13:31:40] 9 - 256 [13:31:40] 10 - 512 [13:31:40] 11 - 1024 [13:31:40] 12 - 2048 [13:31:40] 13 - 4096 [13:31:40] 14 - 8192 [13:31:40] 15 - 16384 [13:31:40] 16 - 32768 [13:31:40] 17 - 65536 [13:31:40] 18 - 131072 [13:31:40] 19 - 262144 [13:31:40] 20 - 524288 [13:31:40] 21 - 1048576 [13:31:40] 22 - 2097152 [13:31:40] 23 - 4194304 [13:31:40] 24 - 8388608 [13:31:40] 25 - 16777216 [13:31:40] 26 - 33554432 [13:31:40] 27 - 67108864 [13:31:40] 28 - 134217728 [13:31:40] 29 - 268435456 [13:31:40] 30 - 536870912 [13:31:40] 31 - 1073741824 [13:31:40] 32 - -- [13:31:40] 33 - 1 [13:31:40] 34 - 2 [13:31:40] 35 - 4 [13:31:40] 36 - 8 [13:31:40] 37 - 16 [13:31:40] 38 - 32 [13:31:40] 39 - 64 [13:31:40] 40 - 128 [13:31:40] 41 - 256 [13:31:40] 42 - 512 [13:31:40] 43 - 1024 [13:31:40] 44 - 2048 [13:31:40] 45 - 4096 [13:31:40] 46 - 8192 [13:31:40] 47 - 16384 [13:31:40] 48 - 32768 [13:31:40] 49 - 65536 [13:31:40] 50 - 131072 [13:31:40] 51 - 262144 [13:31:40] 52 - 524288 [13:31:40] 53 - 1048576 [13:31:40] 54 - 2097152 [13:31:40] 55 - 4194304 [13:31:40] 56 - 8388608 [13:31:40] 57 - 16777216 [13:31:40] 58 - 33554432 [13:31:40] 59 - 67108864 [13:31:40] 60 - 134217728 [13:31:40] 61 - 268435456 [13:31:40] 62 - 536870912 [13:31:40] 63 - 1073741824 [13:31:40] 64 - -- [13:31:40] 65 - 1 [13:31:40] 66 - 2 [13:31:40] 67 - 4 [13:31:40] 68 - 8 [13:31:40] 69 - 16 [13:31:40] 70 - 32 [13:31:40] 71 - 64 [13:31:40] 72 - 128 [13:31:40] 73 - 256 [13:31:40] 74 - 512 [13:31:40] 75 - 1024 [13:31:40] 76 - 2048 [13:31:40] 77 - 4096 [13:31:40] 78 - 8192 [13:31:40] 79 - 16384 [13:31:40] 80 - 32768 [13:31:40] 81 - 65536 [13:31:40] 82 - 131072 [13:31:40] 83 - 262144 [13:31:40] 84 - 524288 [13:31:40] 85 - 1048576 [13:31:40] 86 - 2097152 [13:31:40] 87 - 4194304 [13:31:40] 88 - 8388608 [13:31:40] 89 - 16777216 [13:31:40] 90 - 33554432 [13:31:40] 91 - 67108864 [13:31:40] 92 - 134217728 [13:31:40] 93 - 268435456 [13:31:40] 94 - 536870912 [13:31:40] 95 - 1073741824 [13:31:40] 96 - -- [13:31:40] 97 - 1 [13:31:40] 98 - 2 [13:31:40] 99 - 4