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.
Versions 16 and later
Universal Windows 10 App Esta función está disponible para las aplicaciones de Windows Phone.
New in version 16
Universal Windows 10 App Esta función está disponible para las aplicaciones de Windows Phone.
Universal Windows 10 App Esta función está disponible para las aplicaciones de Windows Phone.
Versions 18 and later
Universal Windows 10 App Esta característica está disponible en el modo de aplicaciones de Windows Store.
New in version 18
Universal Windows 10 App Esta característica está disponible en el modo de aplicaciones de Windows Store.
Universal Windows 10 App Esta característica está disponible en el modo de aplicaciones de Windows Store.
Versions 21 and later
Universal Windows 10 App Esta función está disponible en el modo Universal Windows 10 App.
New in version 21
Universal Windows 10 App Esta función está disponible en el modo Universal Windows 10 App.
Universal Windows 10 App Esta función está disponible en el modo Universal Windows 10 App.
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

    Java El operador para el desplazamiento binario izquierdo reinyectará desde la derecha los bits que excedan el tamaño del operando.. El operador para el desplazamiento binario derecho reinyectará desde la izquierda los bits que excedan el tamaño del operando.. Por ejemplo:
    e is int on 4
    res is int on 4
    e = 1
    res = e bitLeftShift 32 // Returns 0 in WINDEV and 1 in Java
Operador para acceso directo a los bits
WINDEVUniversal Windows 10 AppUser code (UMC)

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
WINDEVUniversal Windows 10 AppUser code (UMC)

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.
WINDEVUniversal Windows 10 AppUser code (UMC)

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