SlideShare uma empresa Scribd logo
1 de 1
Baixar para ler offline
Operadores bit a bit


Comentario previo
                                      Manejando operadores bit a bit
Incluimos la sintaxis de este tipo
de operadores a título meramente        Desarrollamos aquí algunos ejemplos de manejo de los operadores bit a bit.
informativo. Rara vez será
necesario utilizarlos en nuestras                                                         El operador &
aplicaciones PHP.
                                                  Números                      Números como cadenas                      Cadenas alfanuméricas
Su utilidad suele limitarse a la                           Valores
gestión de periféricos y algunas         Variables                            Variables      Valores binarios        Variables       Valores binarios
                                                           binarios
operaciones de cálculo de carácter
                                       $a=12                     1100 $A="12"                  110001110010 $A1="Rs"                 10100101110011
muy reiterativo en la que se puede
conseguir un rendimiento muy           $b=23                     10111 $B="23"                 110010110011 $B1="aZ"                 11000011011010
superior a los operadores              $a&$b=4                    100 $A&$B=02               110000110010 $A1&$B1=@R               10000001010010
tradicionales.
                                       En los casos de cadenas hemos diferenciado en rojo el valor binario correspondiente al primer carácter.
En el ámbito propio del PHP            Esos valores binarios corresponden a la forma binaria del código ASCII de cada uno de los caracteres
pueden tener algún interés a la
hora de elaborar rutinas para
encriptar el código fuente de            Puedes observar que el tratamiento es distinto cuando los mismos valores numéricos
algunos scripts que por su            se asignan como entero y como cadena.
importancia pueden requerir ese
tipo de protección.                      Al asignarlos como cadena opera los valores binarios de los códigos ASCII de los
                                      caracteres, mientras que cuando se trata de números compara los valores de las
Los que sí han de resultarnos de      expresiones binarias de los valores de cada uno de ellos
gran interés serán el resto de los
operadores. Los iremos viendo en
páginas sucesivas.                                                                        El operador |
                                                     Números                    Números como cadenas                  Cadenas alfanuméricas
Operadores bit a bit                       Variables     Valores binarios     Variables      Valores binarios      Variables     Valores binarios
                                          $a=12                       1100 $A="12"            110001110010 $A1="Rs"               10100101110011
$A & $B                                   $b=23                   10111 $B="23"               110010110011 $B1="aZ"               11000011011010

El operador & compara los valores         $a|$b=31                11111 $A|$B=33 110011110011 $A1|$B1=s{ 11100111111011
binarios de cada uno de los bits de
las cadenas $A y $B y devuelve 1        Se comporta de forma idéntica al anterior en lo relativo a números y cadenas.
en el caso que ambos sean 1, y 0
en cualquier otro caso.
                                                                                          El operador ^
Cuando las variables $A y $B son                       Números                  Números como cadenas                  Cadenas alfanuméricas
cadenas compara los valores
binarios de los códigos ASCII de           Variables     Valores binarios     Variables     Valores binarios       Variables     Valores binarios
sus caracteres y devuelve los             $a=12                       1100 $A="12"           110001110010 $A1="Rs"               10100101110011
caracteres ASCII correspondientes
                                          $b=23                    10111 $B="23"             110010110011 $B1="aZ"               11000011011010
al resultado de esa comparación.
                                          $a^$b=27                11011 $A^$B=              000011000001 $A1^$B1=3) 01100110101001
$A | $B

Funciona de forma idéntica al           Los criterios de tratamiento de números y cadenas coinciden con los operadores
anterior y devuelve 1 cuando al       anteriores.
menos el valor de uno de los bits
comparados es 1, y devolverá 0                                                        El operador <<
cuando ambos sean 0.
                                                     Números                     Números como cadenas                   Cadenas alfanuméricas
$A ^ $B                                    Variables     Valores binarios       Variables      Valores binarios      Variables     Valores binarios

Devuelve 1 cuando los bits                $a=12                       1100 $A="12"             110001110010 $A1="Rs"              10100101110011
comparados son distintos, y 0             $b=2                          10 $B=2                                10 $B1=2                             10
cuando son iguales.
                                          $a<<b=48               110000 $A<<$B=48                      110000 $A1<<$B1=0
$A << $B
                                        El operador << multiplica el valor de la primera cadena por 2 elevado al valor de la
Realiza la operación $A * 2$B.        segunda.
Hace el cálculo añadiendo $B
CEROS (binarios) a la derecha de
                                        Al ser un operador matemático solo tiene sentido cuando ambas variables son
la cadena binaria $A.                 números naturales. En las cadenas alfanuméricas extrae los números que pudiera
                                      haber al comienzo y, en caso de no haberlos, toma valor cero.
$A >> $B
                                                                                      El operador >>
Divide el valor $A entre 2$B.
Hace la operación en la cadena                         Números                  Números como cadenas                 Cadenas alfanuméricas
binaria quitando $B CEROS (por la           Variables    Valores binarios      Variables     Valores binarios      Variables     Valores binarios
derecha) de la cadena $A.
                                           $a=12                      1100 $A="12"           110001110010 $A1="Rs"               10100101110011
~ $A                                       $b=2                         10 $B=2                           10 $B1=2                               10

Invierte los valores de los bits de        $a>>b=3                     11 $A>>$B=3                        11 $A1>>$B1=0
la cadena $A convirtiendo los
CEROS en UNO y los UNO en CERO.         Para este operador (>>) son aplicables los mismos comentarios hechos en el párrafo
                                      anterior.

                                                                                          El operador ~
                                                                      $a=12                                               1100
                                                                 ~$a=-13 11111111111111111111111111110011



                                                                                 Anterior     Indice   Siguiente

Mais conteúdo relacionado

Mais de José M. Padilla

Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexJosé M. Padilla
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionJosé M. Padilla
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionJosé M. Padilla
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.José M. Padilla
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.José M. Padilla
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20José M. Padilla
 
00 Sonido Y Musica Por Ordenador. Caso1
00 Sonido Y Musica Por Ordenador. Caso100 Sonido Y Musica Por Ordenador. Caso1
00 Sonido Y Musica Por Ordenador. Caso1José M. Padilla
 
00 PHP. Paginas Web Dinamicas
00 PHP. Paginas Web Dinamicas00 PHP. Paginas Web Dinamicas
00 PHP. Paginas Web DinamicasJosé M. Padilla
 
16 Php. Variables Predefinidas
16 Php. Variables Predefinidas16 Php. Variables Predefinidas
16 Php. Variables PredefinidasJosé M. Padilla
 
13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con Constantes13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con ConstantesJosé M. Padilla
 
12 PHP. Lineas de comentario
12 PHP. Lineas de comentario12 PHP. Lineas de comentario
12 PHP. Lineas de comentarioJosé M. Padilla
 
10 Php. Instalacion De Un Servidor De Correo
10 Php. Instalacion De Un Servidor De Correo10 Php. Instalacion De Un Servidor De Correo
10 Php. Instalacion De Un Servidor De CorreoJosé M. Padilla
 

Mais de José M. Padilla (20)

Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. AudacityModulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
Modulo 2. Sonido Y Musica Por Ordenador. 05 Editor De Audio. Audacity
 
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One PlayerModulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
Modulo 2. Sonido Y Musica Por Ordenador. 04 Reproductor. Real One Player
 
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C DexModulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
Modulo 2. Sonido Y Musica Por Ordenador. 03 Extraccion De Audio. C Dex
 
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema OperativoModulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
Modulo 2. Sonido Y Musica Por Ordenador. 02 Sonido En El Sistema Operativo
 
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 AlmacenamientoModulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
Modulo 1. Sonido Y Musica Por Ordenador. 07 Almacenamiento
 
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El AudioModulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
Modulo 1. Sonido Y Musica Por Ordenador. 06 El Audio
 
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El MidiModulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
Modulo 1. Sonido Y Musica Por Ordenador. 05 El Midi
 
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. EdicionModulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
Modulo 1. Sonido Y Musica Por Ordenador. 04 El Estudio De Sonido. Edicion
 
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su RepresentacionModulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
Modulo 1. Sonido Y Musica Por Ordenador. 03 El Sonido Y Su Representacion
 
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
Modulo 1. Sonido y musica por ordenador. 02 El ordenador en el aula.
 
00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.00 Sonido y musica por ordenador. Guia del alumno.
00 Sonido y musica por ordenador. Guia del alumno.
 
00 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 2000 Sonido y musica por ordenador. Caso 20
00 Sonido y musica por ordenador. Caso 20
 
00 Sonido Y Musica Por Ordenador. Caso1
00 Sonido Y Musica Por Ordenador. Caso100 Sonido Y Musica Por Ordenador. Caso1
00 Sonido Y Musica Por Ordenador. Caso1
 
00 PHP. Paginas Web Dinamicas
00 PHP. Paginas Web Dinamicas00 PHP. Paginas Web Dinamicas
00 PHP. Paginas Web Dinamicas
 
16 Php. Variables Predefinidas
16 Php. Variables Predefinidas16 Php. Variables Predefinidas
16 Php. Variables Predefinidas
 
14 PHP. Variables
14 PHP. Variables14 PHP. Variables
14 PHP. Variables
 
13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con Constantes13 PHP. Un Ejemplo Con Constantes
13 PHP. Un Ejemplo Con Constantes
 
12 PHP. Lineas de comentario
12 PHP. Lineas de comentario12 PHP. Lineas de comentario
12 PHP. Lineas de comentario
 
11 PHP. PHP y HTML
11 PHP. PHP y HTML11 PHP. PHP y HTML
11 PHP. PHP y HTML
 
10 Php. Instalacion De Un Servidor De Correo
10 Php. Instalacion De Un Servidor De Correo10 Php. Instalacion De Un Servidor De Correo
10 Php. Instalacion De Un Servidor De Correo
 

Último

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxLolaBunny11
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfJulian Lamprea
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudianteAndreaHuertas24
 

Último (13)

POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
Presentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptxPresentación guía sencilla en Microsoft Excel.pptx
Presentación guía sencilla en Microsoft Excel.pptx
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
Desarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdfDesarrollo Web Moderno con Svelte 2024.pdf
Desarrollo Web Moderno con Svelte 2024.pdf
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante9egb-lengua y Literatura.pdf_texto del estudiante
9egb-lengua y Literatura.pdf_texto del estudiante
 

33 Php. Manejando Operadores Bit A Bit

  • 1. Operadores bit a bit Comentario previo Manejando operadores bit a bit Incluimos la sintaxis de este tipo de operadores a título meramente Desarrollamos aquí algunos ejemplos de manejo de los operadores bit a bit. informativo. Rara vez será necesario utilizarlos en nuestras El operador & aplicaciones PHP. Números Números como cadenas Cadenas alfanuméricas Su utilidad suele limitarse a la Valores gestión de periféricos y algunas Variables Variables Valores binarios Variables Valores binarios binarios operaciones de cálculo de carácter $a=12 1100 $A="12" 110001110010 $A1="Rs" 10100101110011 muy reiterativo en la que se puede conseguir un rendimiento muy $b=23 10111 $B="23" 110010110011 $B1="aZ" 11000011011010 superior a los operadores $a&$b=4 100 $A&$B=02 110000110010 $A1&$B1=@R 10000001010010 tradicionales. En los casos de cadenas hemos diferenciado en rojo el valor binario correspondiente al primer carácter. En el ámbito propio del PHP Esos valores binarios corresponden a la forma binaria del código ASCII de cada uno de los caracteres pueden tener algún interés a la hora de elaborar rutinas para encriptar el código fuente de Puedes observar que el tratamiento es distinto cuando los mismos valores numéricos algunos scripts que por su se asignan como entero y como cadena. importancia pueden requerir ese tipo de protección. Al asignarlos como cadena opera los valores binarios de los códigos ASCII de los caracteres, mientras que cuando se trata de números compara los valores de las Los que sí han de resultarnos de expresiones binarias de los valores de cada uno de ellos gran interés serán el resto de los operadores. Los iremos viendo en páginas sucesivas. El operador | Números Números como cadenas Cadenas alfanuméricas Operadores bit a bit Variables Valores binarios Variables Valores binarios Variables Valores binarios $a=12 1100 $A="12" 110001110010 $A1="Rs" 10100101110011 $A & $B $b=23 10111 $B="23" 110010110011 $B1="aZ" 11000011011010 El operador & compara los valores $a|$b=31 11111 $A|$B=33 110011110011 $A1|$B1=s{ 11100111111011 binarios de cada uno de los bits de las cadenas $A y $B y devuelve 1 Se comporta de forma idéntica al anterior en lo relativo a números y cadenas. en el caso que ambos sean 1, y 0 en cualquier otro caso. El operador ^ Cuando las variables $A y $B son Números Números como cadenas Cadenas alfanuméricas cadenas compara los valores binarios de los códigos ASCII de Variables Valores binarios Variables Valores binarios Variables Valores binarios sus caracteres y devuelve los $a=12 1100 $A="12" 110001110010 $A1="Rs" 10100101110011 caracteres ASCII correspondientes $b=23 10111 $B="23" 110010110011 $B1="aZ" 11000011011010 al resultado de esa comparación. $a^$b=27 11011 $A^$B= 000011000001 $A1^$B1=3) 01100110101001 $A | $B Funciona de forma idéntica al Los criterios de tratamiento de números y cadenas coinciden con los operadores anterior y devuelve 1 cuando al anteriores. menos el valor de uno de los bits comparados es 1, y devolverá 0 El operador << cuando ambos sean 0. Números Números como cadenas Cadenas alfanuméricas $A ^ $B Variables Valores binarios Variables Valores binarios Variables Valores binarios Devuelve 1 cuando los bits $a=12 1100 $A="12" 110001110010 $A1="Rs" 10100101110011 comparados son distintos, y 0 $b=2 10 $B=2 10 $B1=2 10 cuando son iguales. $a<<b=48 110000 $A<<$B=48 110000 $A1<<$B1=0 $A << $B El operador << multiplica el valor de la primera cadena por 2 elevado al valor de la Realiza la operación $A * 2$B. segunda. Hace el cálculo añadiendo $B CEROS (binarios) a la derecha de Al ser un operador matemático solo tiene sentido cuando ambas variables son la cadena binaria $A. números naturales. En las cadenas alfanuméricas extrae los números que pudiera haber al comienzo y, en caso de no haberlos, toma valor cero. $A >> $B El operador >> Divide el valor $A entre 2$B. Hace la operación en la cadena Números Números como cadenas Cadenas alfanuméricas binaria quitando $B CEROS (por la Variables Valores binarios Variables Valores binarios Variables Valores binarios derecha) de la cadena $A. $a=12 1100 $A="12" 110001110010 $A1="Rs" 10100101110011 ~ $A $b=2 10 $B=2 10 $B1=2 10 Invierte los valores de los bits de $a>>b=3 11 $A>>$B=3 11 $A1>>$B1=0 la cadena $A convirtiendo los CEROS en UNO y los UNO en CERO. Para este operador (>>) son aplicables los mismos comentarios hechos en el párrafo anterior. El operador ~ $a=12 1100 ~$a=-13 11111111111111111111111111110011 Anterior Indice Siguiente