No entiendo un cуdigo
#1

Hola! Me pueden explicar que significa el operador '&' y '|' (No hablo de || ni de &&)? Lo vi en un dуdigo y realmente no entiendo la expresiуn:

pawn Код:
stock MostrarTD(Text:ID, color)
{
    TextDrawShowForAll(Text:ID, color);
    TextDrawBoxColor(ID, 0x00000000 | (color & 0x000000FF));
    return 1;
}
No entiendo el 0x00000000 | (color & 0x000000FF).

Otro ejemplo! (Esto estб en wiki sa-mp de SetPlayerMarkerForPlayer) tampoco lo entendн.

pawn Код:
// Make player 42 see player 1 as a red marker
SetPlayerMarkerForPlayer( 42, 1, 0xFF0000FF );
 
// Make the players marker an invisible white (chat will be white but marker will be gone).
SetPlayerMarkerForPlayer( 42, 1, 0xFFFFFF00 );
 
// Make the players marker invisible to the player while keeping chat colour the same. Will only work correctly if SetPlayerColor has been used:
SetPlayerMarkerForPlayer( 42, 1, ( GetPlayerColor( 1 ) & 0xFFFFFF00 ) );
 
// Make the players marker fully opaque (solid) to the player while keeping chat colour the same. Will only work correctly if SetPlayerColor has been used:
SetPlayerMarkerForPlayer( 42, 1, ( GetPlayerColor( 1 ) | 0x000000FF ) );
Reply
#2

& significa "y" ejemplo: Spell y Cesar_******
| Significa "o" ejemplo: Spell o Cesar_******


Edit:

PHP код:
0x00000000  // ---> Invisible
0x000000FF  // ---> color rojo
0x00000000 | (color 0x000000FF)  <<--- Pienzo yo que eso como un random o como una combinacion de colores
entre el  0x00000000 
color
o el
entre el  0x00000000 
0x000000FF 
xSDx
PHP код:
&    AND binario
|    OR binario
&&    AND lуgico
||    OR lуgico 
Reply
#3

0xFF0000FF es como usar COLOR_ROJO
Me refiero que esos numeros son colores, Y por ende se puede usar tambien el nombre del color que ya esta definido.

Podrias usar
SetPlayerMarkerForPlayer( 42, 1, COLOR_ROJO);
Reply
#4

Me parece que ambos estan equivocados, el usuario quiere saber para que son esos operadores, encontre algo en wikipedia sobre operadores en c, supongo que debe ser lo mismo pero no entendi bien me parece que xor y and son puertas logicas por lo que hablamos a nivel de bit no estoy seguro te dejo el link.
http://es.wikipedia.org/wiki/Anexo:O...de_C_y_C%2B%2B

Saludos.
Reply
#5

Lo que me dijeron los dos primeros ya se.. Lo que no entiendo es la combinaciуn que hay, por ejemplo yo se hacer esto:

pawn Код:
if(GetPlayerColor(playerid) == ( 0xff00ff00 | 0x00ff00ff) )
{
    // si el color es 0xff00ff00 o 0x00ff00ff
}
Pero no entiendo esa mezcla de &, | en funciones, no sentencias.
xSDx, Muchas gracias por entenderme, pero no encontrй. En ningъn lado vi el & o | en una funciуn digamos, encontrй que es AND y OR (cosa que ya sabia)
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)