Raised This Month: $ Target: $400
 0% 

[ES] Recopilacion de Tutoriales v6.0


  
 
 
Thread Tools Display Modes
Kiske
Veteran Member
Join Date: May 2009
Old 07-16-2009 , 13:48   Re: [ES] Recopilacion de Tutoriales v1.2
#51

Actualizado a la Version 1.2
__________________

Kiske is offline
Send a message via Skype™ to Kiske
alan_el_more
Veteran Member
Join Date: Jul 2008
Location: amxmodx-es.com
Old 07-16-2009 , 16:04   Re: [ES] Recopilacion de Tutoriales v1.2
#52

Estaria bueno que le pongas abajo los que agregaste ultimamente
__________________
alan_el_more is offline
Kiske
Veteran Member
Join Date: May 2009
Old 07-16-2009 , 16:42   Re: [ES] Recopilacion de Tutoriales v1.2
#53

Quote:
Originally Posted by alan_el_more View Post
Estaria bueno que le pongas abajo los que agregaste ultimamente
Voy a poner Referencias:

Color Verde = Nuevo
Color Violeta = Más de 3 Dias
Color Azul = Viejo
__________________

Kiske is offline
Send a message via Skype™ to Kiske
xBreak^
BANNED
Join Date: Jul 2009
Old 07-16-2009 , 16:44   Re: [ES] Recopilacion de Tutoriales v1.2
#54

agrega los que hice re100 xd
xBreak^ is offline
Kiske
Veteran Member
Join Date: May 2009
Old 07-16-2009 , 16:52   Re: [ES] Recopilacion de Tutoriales v1.2
#55

Quote:
Originally Posted by xBreak^ View Post
agrega los que hice re100 xd
No soy Flash.. Tambien tengo qe fijarme qe esten bien echos.. xq no sirve poner un Tutorial que este bugeado o no funcione xd
__________________

Kiske is offline
Send a message via Skype™ to Kiske
xBreak^
BANNED
Join Date: Jul 2009
Old 07-16-2009 , 17:04   Re: [ES] Recopilacion de Tutoriales v1.2
#56

No si lo se pero era solo para recordarte
xBreak^ is offline
larito
Veteran Member
Join Date: Nov 2008
Location: Argentina- Mendoza
Old 07-16-2009 , 17:05   Re: [ES] Recopilacion de Tutoriales v1.2
#57

Link original del post

Tutorial
: Aca veremos como puede usarse los opreadores de bitsum como booleans
Requisito: Este tutorial es para buenos programadores.

Que es un bitsum?
Un bitsum se basa en la manera que trabaja la memoria. Si pensamos, la memoria es un chip que contiene celdas(bits)que pueden contener 2 informaciones : 1 o 0. Esto se guarda en un byte (byte = 8 bits), de esta manera:
PHP Code:
"8" (un numero normal) = "00001000" (numero de moria [1 byte]) 

Como es que trabaja un bitsum?

La idea es que un bitsum permite controla las posisciones que uste quiera setear en 1, Y pedemos chequear las posiciones que tiene 1 o 0

Cuales operadores tengo y que puedo hacer?
Aca hay un ejemplo con cada operador que se pueda usar
PHP Code:
Operador: | (logical OR"http://es.wikipedia.org/wiki/OR#Definici.C3.B3n")
first_byte "10010001"
second_byte "01010001"

first_byte second_byte "11010001" 
Este operador trabaga como el operador logico || pero este es con cada bit

PHP Code:
|     1      0
1     1      1
0     1      0 
PHP Code:
Operador: & (logical AND "http://es.wikipedia.org/wiki/AND#Puerta_Y_.28AND.29")
first_byte "10010001"
second_byte "01010001"

first_byte second_byte "0001001" 
Este operador trabaja como el operador logico && pero este es con cada bit

PHP Code:
&     1      0
1     1      0
0     0      0 
PHP Code:
Operator: ^ (Exclusive OR "http://es.wikipedia.org/wiki/AND#Puerta_OR-exclusiva_.28XOR.29")
first_byte "10010001"
second_byte "01010001"

first_byte second_byte "1100000" 
Este operador trabaja como el operador logico ^^ pero este es con cada bit
PHP Code:
^    1      0
1    0      1
0    1      0 
PHP Code:
Operator: ~ ("http://es.wikipedia.org/wiki/AND#L.C3.B3gica_negada")
first_byte "10010001"

~first_byte "01101110" 
Este operador niega cada bit ! Asique 0 se transforma en 1 y 1 en 0.
PHP Code:
~0
~
Como trabaja un bitsum en numeros normales?
Estos estan guardados en las celdas de un byte normal.Entonses estos se combierten de la base 10 a la base 2. En este caso el numero 9 , por ejemplo "00001001". Para comvertir el numero de vuelta a 9 necesitamos multiplicarlo cada uno en posicion con el 2! 2^2 = power(2^2) = 4
00001001: 1*(2^0) + 0*(2^1) + 0*(2^2) + 1*(2^3) + 0*(2^4) + 0*(2^5) + 0*(2^6) + 0*(2^7) = 1 + 8 = 9

Como puedo crear un bitsum?
Para esto necesitamos 2 operadores << y >>, o si tu no quieres usar estos operadores puede fasilmente crear uno usando los elementos que representan potencias del 2

Ejemplo:
PHP Code:
Bitsum "00001111" 
El segundo operador tiene un especial intecion
"<< x" quiere decir que el numero 1 se mueve x ceces a la izquierda!

Ejemplo:
PHP Code:
"00001100" << "00011000" 
Cuando convertimos esto a un numero normal podemos ver este numero normal es multiplicado por la potencia de 2

Entonses si tenemos (1<<3) seria como 2^3 * 1

El operador >> es igual al << solo que mueve X veces el numero a la derecha! Cuando uses numeros enteros desapareceran
PHP Code:
"00000111" >> "00000000" 
Entonses usamos estos 2 operadores para crear un bitsum y tenemos esto

PHP Code:
Bitsum "00001111" = (1<<1<<1<<1<<0
Como puedo usar esto en mi codigo?
Bien si puedes usarlo como si fuera un boolean

Entonses en ves de tener esto
PHP Code:
new bool:is_alive[33
Tenemos
PHP Code:
new bitsum_is_alive 
Entonses usamos menos memoria

En lugar de
PHP Code:
if (is_alive[id])
{

Tenemos
PHP Code:
if (bistum_is_alive & (1<<id))
{

En lugar de esto
PHP Code:
is_alive[id] = true 
is_alive
[id] = false 
Tenemos esto
PHP Code:
bitsum_is_alive |= (1<<id
bitsum_is_alive &=  ~(1<<id
Lo bueno de esto es que puedes extender el limite de los 32 slots (el numero permitido por un array) entonses podemos tener mas slots!

Ejemplo:
PHP Code:
new holder[4]
// Holder tiene 4 * 32 espacios donde podemos guardar un valor true/false

// Aqui estan las funciones que nos permiten manipularlos! 

// Aqui isimos un slot verdadero
save(x)
{
    
holder[32] |= << (32);
}

// Aqui chequeamos el slot
exists(x)
{
    return 
holder[32] & << (32);
}

// Aqui removemos el slot
remove(x)
{
    
holder[32] &= ~(<< (32))

Como puedes ver es mas difisil usar un bitsum pero tienen mejor resultado cuando se refiere al poco uso de memoria

Espero que les sirva de ayuda

PD: esto aun no lo entiendo bien , asique no puedo contestar muchas dudas.
PD2: la ultima parte de save, exists y remove, no entendi como eran las cuentas pero si alguien las entiende bien que las explique mejor plis


Cualquier error de traduccion por favor diganmelo.
__________________
Facebook: Ariel Berardi

Last edited by larito; 07-16-2009 at 17:49.
larito is offline
Send a message via MSN to larito
meTaLiCroSS
Gaze Upon My Hat
Join Date: Feb 2009
Location: Viña del Mar, Chile
Old 07-16-2009 , 17:14   Re: [ES] Recopilacion de Tutoriales v1.2
#58

Agrega el Link original

EDITO: Kiske, nuevo avatar

__________________
Quote:
Originally Posted by joropito View Post
You're right Metalicross

Last edited by meTaLiCroSS; 07-16-2009 at 17:47.
meTaLiCroSS is offline
larito
Veteran Member
Join Date: Nov 2008
Location: Argentina- Mendoza
Old 07-16-2009 , 17:45   Re: [ES] Recopilacion de Tutoriales v1.2
#59

Quote:
Originally Posted by meTaLiCroSS View Post
Agrega el Link original
Si el tema es que justo se me corto internet cuando lo postie y no pude verlo y editarlo jaja!
__________________
Facebook: Ariel Berardi
larito is offline
Send a message via MSN to larito
xBreak^
BANNED
Join Date: Jul 2009
Old 07-16-2009 , 18:17   Re: [ES] Recopilacion de Tutoriales v1.2
#60

nuevo tut

http://forums.alliedmods.net/showthread.php?t=97514
xBreak^ is offline
 



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 06:05.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode