GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» player não consegue andar
por lovn7 Qui 21 Nov 2024, 13:33

» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22

» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31

» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23

» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49

» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58

» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36

» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36

» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33

» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51

» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28

» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18

» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08

» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10

» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16

» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40

» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01

» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45

» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34

» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28

» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48

» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54

» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14

» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50


Pedido de Toturial - Operações com byte

4 participantes

Ir para baixo

Pedido de Toturial - Operações com byte Empty Pedido de Toturial - Operações com byte

Mensagem por Kabeção Sáb 28 Jun 2008, 14:01

tava mechendo aqui pra fazer uma AI pra meu jogo.
ae me deparei com algo que nunca tinha entendido direito:
Operação com arquivos binarios e operadores de bitwise (& | ^).

sera que alguem sabe de algum tuto ou pode explicar ae?
vlw!
Kabeção
Kabeção

Games Ranking : Sem avaliações

Data de inscrição : 08/06/2008
Reputação : 100
Número de Mensagens : 2314
Prêmios : Pedido de Toturial - Operações com byte Empty

Medalhas x 0 Tutoriais x 7 Moedas x 0

Ouro x 3 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://blackcapapps.blogspot.com.br/

Ir para o topo Ir para baixo

Pedido de Toturial - Operações com byte Empty Re: Pedido de Toturial - Operações com byte

Mensagem por pedrosorio Sáb 28 Jun 2008, 14:51

& - and binário;
| - or binário;
^ - xor binário.

Esses operam com números em binário. Exemplo simples:

Como você sabe, 5 se escreve 101 em binário, 6 se escreve 110.
Se fizermos 5 & 6, vamos obter o and binário, ou seja, que devolve 1 em cada casa se e só se ambas os números tiverem 1 nessa casa.
Neste caso:

101 = 5
110 = 6
--------- &
100 = 4

E se fosse |? Nesse caso seria or binário, que devolve 1 em cada casa se pelo menos um dos números tiver 1 nessa casa.
Neste caso:

101 = 5
110 = 6
--------- |
111 = 7

E no caso do ^? Bom esse é o xor binário, que devolve 1 em cada casa se APENAS UM dos números tiver 1 nessa casa.
Neste caso:

101 = 5
110 = 6
--------- ^
011 = 3

Existem ainda mais dois operadores binários em GML, são eles: << e >> que multiplicam e dividem, respectivamente números binários, 'rodando' as casas na direcção indicada. Eles vão dividir/multiplicar por uma potência de base 2 porque vão rodar o número n casas para a direita/esquerda.

Exemplo
5>>2 = 101>>2 = 001 = 1
7>>1 = 111>>1 = 011 = 3

etc.

P.S.: alguma dúvida, só perguntar
pedrosorio
pedrosorio

Data de inscrição : 15/06/2008
Reputação : 0
Número de Mensagens : 50
Prêmios : Pedido de Toturial - Operações com byte Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://pedrosorio.nfshost.com

Ir para o topo Ir para baixo

Pedido de Toturial - Operações com byte Empty Re: Pedido de Toturial - Operações com byte

Mensagem por Kabeção Sáb 28 Jun 2008, 15:07

a agora entendi. mas não vejo a utiladade ou em que poderia usar isso. :|
tem algum exemplo do uso disso em um jogo?

vlw pedrosorio. Smile
Kabeção
Kabeção

Games Ranking : Sem avaliações

Data de inscrição : 08/06/2008
Reputação : 100
Número de Mensagens : 2314
Prêmios : Pedido de Toturial - Operações com byte Empty

Medalhas x 0 Tutoriais x 7 Moedas x 0

Ouro x 3 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://blackcapapps.blogspot.com.br/

Ir para o topo Ir para baixo

Pedido de Toturial - Operações com byte Empty Re: Pedido de Toturial - Operações com byte

Mensagem por pedrosorio Sáb 28 Jun 2008, 16:01

Oh... Pois, realmente não tenho... Mas podem ser úteis. Se você souber como está organizado um determinado formato de ficheiro pode ser útil já que geralmente se guarda mais do que uma informação por byte, aí é importante saber manipular para extrair a informação de todos os bits.

Outro exemplo, imagine que você quer enviar o mínimo de informação num jogo online e que tem 8 variáveis de valor true/false. Em vez de enviar as 8, você envia 1 variável apenas. Imagine que nessa variável (chamemos-lhe 'num') temos 8 bits e cada bit representa verdadeiro(1) ou falso(0). Você quer saber o valor do 5ª bit (a contar da direita), aí você faz:

bit5 = (num>>4) & 1;

Imagine por exemplo que a variável tinha esta informação em binário:

87654321 - bit número
00110011 - informação no bit

Ao fazer num>>4 ia ficar assim:

87654321 - bit número
00000011 - informação no bit

Em seguida fazemos um and binário com o número 1, que tem a seguinte representação binária:

00000011 = num>>4
00000001 = 1
------------------------ &
00000001 = 1

Ou seja, o 5º bit valia 1. É fácil ver que se valesse 0, o resultado seria 0. Assim você consegue passar muito mais informação com menos bytes.
pedrosorio
pedrosorio

Data de inscrição : 15/06/2008
Reputação : 0
Número de Mensagens : 50
Prêmios : Pedido de Toturial - Operações com byte Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://pedrosorio.nfshost.com

Ir para o topo Ir para baixo

Pedido de Toturial - Operações com byte Empty Re: Pedido de Toturial - Operações com byte

Mensagem por Kabeção Sáb 28 Jun 2008, 18:37

assim...
então pode ser usado para manter muita informação com pouco tamanho.

as rom de emuladores em sua maioria são arquivos binarios.
quando se ve as informações da rom diz que tem 256mb enquanto seu arquivo binario tem apenas 32mb.

obrigado pedrosorio!
flw!
Kabeção
Kabeção

Games Ranking : Sem avaliações

Data de inscrição : 08/06/2008
Reputação : 100
Número de Mensagens : 2314
Prêmios : Pedido de Toturial - Operações com byte Empty

Medalhas x 0 Tutoriais x 7 Moedas x 0

Ouro x 3 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://blackcapapps.blogspot.com.br/

Ir para o topo Ir para baixo

Pedido de Toturial - Operações com byte Empty Re: Pedido de Toturial - Operações com byte

Mensagem por pedrosorio Dom 29 Jun 2008, 09:05

Já agora, kabecao, se quiseres mais informação sobre tipos de ficheiros e como estão organizados em forma binária podes consultar este site: http://www.wotsit.org
pedrosorio
pedrosorio

Data de inscrição : 15/06/2008
Reputação : 0
Número de Mensagens : 50
Prêmios : Pedido de Toturial - Operações com byte Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://pedrosorio.nfshost.com

Ir para o topo Ir para baixo

Pedido de Toturial - Operações com byte Empty Re: Pedido de Toturial - Operações com byte

Mensagem por Kabeção Dom 29 Jun 2008, 11:05

era isso que tava procurando.
sempre quis entender com os programas liam aqueles monte de letras estranhas.
agora da pra eu fazer salves e arquivos com os textos do meu jogo em binario.
vlw.
Kabeção
Kabeção

Games Ranking : Sem avaliações

Data de inscrição : 08/06/2008
Reputação : 100
Número de Mensagens : 2314
Prêmios : Pedido de Toturial - Operações com byte Empty

Medalhas x 0 Tutoriais x 7 Moedas x 0

Ouro x 3 Prata x 0 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://blackcapapps.blogspot.com.br/

Ir para o topo Ir para baixo

Pedido de Toturial - Operações com byte Empty Re: Pedido de Toturial - Operações com byte

Mensagem por gambit Sáb 01 Nov 2008, 23:34

tem como fazer para tranformar varios varlores em binario
exenplo
var1=0
var2=0
var3=1

então ele cria o valor 001
e depois fazer o aucontrario
gambit
gambit

Data de inscrição : 22/06/2008
Reputação : 8
Número de Mensagens : 162
Prêmios : Pedido de Toturial - Operações com byte Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://ssqt.blogspot.com.br/

Ir para o topo Ir para baixo

Pedido de Toturial - Operações com byte Empty Re: Pedido de Toturial - Operações com byte

Mensagem por Janx Dom 02 Nov 2008, 00:04

cara de uma olhada na data do topico!
nao reviva topicos!
Janx
Janx

Data de inscrição : 24/05/2008
Reputação : 14
Número de Mensagens : 2417
Prêmios : Pedido de Toturial - Operações com byte Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 2 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

Pedido de Toturial - Operações com byte Empty Re: Pedido de Toturial - Operações com byte

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos