PC SOFT

ONLINE HELP
 WINDEVWEBDEV AND WINDEV MOBILE

Home | Sign in | English EN
  • Uso
  • Operadores binarios
  • Binario AND, OR y OR exclusivo
  • Binario NOT
  • Operadores de turnos
  • sintáctico
  • Notas
  • Operador para acceso directo a los bits
  • Acceso a un poco
  • Acceso a un número entero de 1, 2 ó 4 bytes
  • Acceso al valor de varios bits
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReports and QueriesUser code (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Browser code
WINDEV Mobile
AndroidAndroid Widget iPhone/iPadApple WatchUniversal Windows 10 AppWindows Mobile
Others
Stored procedures
Uso
Se realizan las operaciones sobre valores binarios:
  • por las funciones WLanguage: BinaryAND, BinaryOR, BinaryNOT, BinaryXOR
  • por 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
Entero en 4Entero en 8Otro
Entero en 4Entero en 4Entero en 8Entero en 4
Entero en 8Entero en 8Entero en 8Entero en 8
OtroEntero en 4Entero en 8Entero en 8

Binario NOT

La sintaxis es la siguiente: ~ Valor <Valor
El tipo de resultado depende del tipo de operando:
operandoRESult
Entero en 4Entero en 4
Entero en 8Entero en 8
OtrosEntero en 8
Operadores de turnos

sintáctico

  • 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 igual a 0. Por ejemplo:
    bitLeftShift(4,35) // Returns 0
  • El tipo de resultado depende del tipo de operando:
    Operando Valor 1RESult
    Entero en 4Entero en 4
    Entero en 8Entero en 8
    OtrosEntero en 8

Operador para acceso directo a los bits
Reports and Queries

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 número entero de 4 bytes,
  • 1 a 64 para un número 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
Reports and Queries

Acceso a un número entero de 1, 2 ó 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 de un número entero de 1, 2 ó 4 bytes en el valor <Valor 1>.
Valores posibles para <n> según el tipo de <Valor 1>:
Valor 1wlInt_1wlInt_2wlInt_4
Entero en 41 a 41 a 21
Entero en 81 a 81 a 41 a 2

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

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..
Minimum version required
  • Version 14
This page is also available for…
Comments
Click [Add] to post a comment