[Tutorial] Bit Flags
#9

Й um tutorial decente, feliperch .



Eu nгo entendia essa tйcnica atй ler seu tutorial, sendo que no campo da programaзгo ela muitas vezes й necessбria para a manipulaзгo de bits, visto que o menor tamanho de dado que os computadores de hoje em dia internamente conseguem reconhecer equivale a 1 byte (8 bits).



Contudo, devo avisar que, enquanto fazia testes, percebi uma certa falha nesta linha do tutorial, que supostamente transformaria em 0 somente o bit relativo a IS_PLAYER_LOGGED:


pawn Код:
pFlags[playerid] &= IS_PLAYER_LOGGED;

De acordo com o tutorial, a constante IS_PLAYER_LOGGED de fato equivaleria а seguinte informaзгo de 32 bits :


pawn Код:
00000000000000000000000000000010


Se, por exemplo, a variбvel pFlags[playerid] armazenasse a seguinte informaзгo de 32 bits, que representaria o valor 1 para todas as constantes da enum:


pawn Код:
00000000000000000000000000001110

Entгo, com isto :


pawn Код:
pFlags[playerid] &= IS_PLAYER_LOGGED;

As informaзхes binбrias que citei seriam multiplicadas bit a bit entre si, resultando neste novo valor de pFlags[playerid]:


pawn Код:
00000000000000000000000000000010

Isso significa que o bit correspondente a IS_PLAYER_LOGGED seria mantido, enquanto todos os outros assumiriam o valor 0.



Por ser o objetivo justamente o inverso, ou seja, que o bit de IS_PLAYER_LOGGED torne-se 0 e todos os outros sejam mantidos, й que se costuma incluir uma operaзгo de negaзгo bit a bit no processo :


pawn Код:
pFlags[playerid] &= ~IS_PLAYER_LOGGED;

Bem, continue ajudando o fуrum e seus membros com seu diversificado conhecimento. Sem dъvidas й uma participaзгo de destaque.



Espero ter ajudado .
Reply


Messages In This Thread
Bit Flags - by RockFire - 16.03.2014, 17:46
Re: Bit Flags - by Dolby - 16.03.2014, 17:52
Re: Bit Flags - by RockFire - 16.03.2014, 17:58
Re: Bit Flags - by WLSF - 16.03.2014, 18:00
Re: Bit Flags - by shittt - 16.03.2014, 18:25
Respuesta: Bit Flags - by AlieN_ - 16.03.2014, 18:40
Re: Bit Flags - by RockFire - 16.03.2014, 18:45
Re: Bit Flags - by PT - 16.03.2014, 18:54
Re: Bit Flags - by rjjj - 16.03.2014, 20:02
Re: Bit Flags - by RockFire - 16.03.2014, 20:16

Forum Jump:


Users browsing this thread: 1 Guest(s)