AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Sintaxis WLanguage / Operadores
  • aprovechamiento
  • Operadores binarios
  • Binario AND, OR y OR exclusivo
  • Binario NOT
  • Operadores de turnos
  • Sintaxis
  • Notas
  • Operador para acceso directo a los bits
  • Acceso a un poco
  • Acceso a un entero de 1, 2 o 4 bytes
  • Acceso al valor de varios bits
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
aprovechamiento
Se realizan las operaciones sobre valores binarios:
  • con las funciones WLanguage: BinaryAND, BinaryOR, BinaryNOT, BinaryXOR.
  • con operadores específicos: operadores binarios, operadores para offset derecho o izquierdo, operador para acceder a los bits.
Operadores binarios

Binario AND, OR y OR exclusivo

Se pueden utilizar las siguientes sintaxis:
  • Binario Y: <Valor 1> & <Valor 2>
  • Binario O: <Valor 1> | <Valor 2>
  • Binario exclusivo O: <Valor 1> || <Valor 2>
El tipo de resultado depende del tipo de operandos:
Valor 2

Valor 1
4-byte integerNúmero entero de 8 bytesOtros
4-byte integer4-byte integerEntero de 8 bytes4-byte integer
Número entero de 8 bytesEntero de 8 bytesEntero de 8 bytesEntero de 8 bytes
Otros4-byte integerEntero de 8 bytesEntero de 8 bytes

Binario NOT

La sintaxis es la siguiente: ~ Valor <Valor
El tipo de resultado depende del tipo de operando:
operandoResult
4-byte integer4-byte integer
Entero de 8 bytesEntero de 8 bytes
OtrosEntero de 8 bytes
Operadores de turnos

Sintaxis

  • Desplazamiento a la izquierda:
    <Value 1> bitLeftShift <Value 2>>
    bitLeftShift(<Value 1>, <Value 2>)
  • Desplazamiento a la derecha:
    <Value 1> bitRightShift <Value 2>>
    bitRightShift(<Value 1>, <Value 2>)

Notas

  • Los bits de <Valor 1> se desplazan de <Valor 2> bits a la derecha o a la izquierda..
    Por ejemplo:
    bitLeftShift(4,1) // Returns 8

    En efecto, 4 en decimal corresponde a 0100 en binario. Desplazado de 1 bit a la izquierda, get 1000 en binario que corresponde a 8 en decimal.
    bitRightShift(4,2) // Returns 1

    En efecto, 4 en decimal corresponde a 0100 en binario. Desplazado de 2 bits a la derecha, tenemos get 0001 en binario que corresponde a 1 en decimal.
  • Los bits que superan el tamaño de <Valor 1> se ignoran. Por ejemplo:
    bitLeftShift(4,30) // Returns 0
    bitRightShift(4,4) // Returns 0
  • Si <Valor 2> es mayor que el tamaño de <Valor 1> (32 para un entero de 4 bytes y 64 para un entero de 8 bytes), el resultado es siempre 0. Por ejemplo:
    bitLeftShift(4,35) // Returns 0
  • El tipo de resultado depende del tipo de operando:
    Operando Valor 1Result
    4-byte integer4-byte integer
    Entero de 8 bytesEntero de 8 bytes
    OtrosEntero de 8 bytes

Operador para acceso directo a los bits

Acceso a un poco

Sintaxis: <Valor 1> [ <n> ]
Esta sintaxis se utiliza para leer o modificar el valor del bit <N> en el valor <Valor 1>.
El conteo de bits comienza desde 1 de izquierda a derecha (desde el byte más bajo hasta el más alto):
  • 1 a 32 para un entero de 4 bytes,
  • 1 a 64 para un entero de 8 bytes.
Si el valor de <n> es incorrecto, la operación devuelve 0.
Ejemplos:
// Positions the fifth and seventh bits to 1
n is int
n[5] = 1
n[7] = True
// Checks the value of bits 4, 5, 6 and 7
IF n[4] THEN Trace(4) // not displayed
IF n[5] THEN Trace(5) // displays 5
IF n[6] THEN Trace(6) // not displayed
IF n[7] THEN Trace(7) // displays 7
// Assign a value by modifying the bits
n is int = 0
// Switch on bit #1: n worth 1 in decimal
n[1] = 1
// Switch on bit #8 as well: n worth 129 in decimal (2 power 0 + 2 power 7)
n[8] = 1

Acceso a un entero de 1, 2 o 4 bytes

Sintaxis:
  • <Valor 1> [ <n>, wlInt_1 ]
  • <Valor 1> [ <n>, wlInt_2 ]
  • <Valor 1> [ <n>, wlInt_4 ]
Estas sintaxis se utilizan para leer o modificar el valor del entero de 1, 2 o 4 bytes del valor <Valor 1>.
Valores posibles para <n> según el tipo de <Valor 1>:
Valor 1wlInt_1wlInt_2wlInt_4
Un entero de 4 bytes1 a 41 a 21
Entero de 8 bytes1 a 81 a 41 a 2

Si el valor de <n> es incorrecto, la operación devuelve 0.

Acceso al valor de varios bits

Sintaxis:
  • <Valor 1> [ TO <n> ]
  • <Valor 1> [ <n> TO ]
  • <Valor 1> [ <n> TO <o> ]
  • <Valor 1> [ <n> ON <Número> ]
Estas sintaxis se utilizan para leer o modificar el valor correspondiente a los bits especificados..
Versión mínima requerida
  • Versión 14
Esta página también está disponible para…
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 15/07/2022

Señalar un error o enviar una sugerencia | Ayuda local