0 / 0
Volver a la versión inglesa de la documentación
Operaciones de enteros de nivel de bit
Última actualización: 07 oct 2024
Operaciones de enteros de nivel de bit (SPSS Modeler)

Estas funciones permiten manipular los enteros como patrones de bits que representan valores en complemento a dos, donde la posición del bit N tiene la ponderación 2**N.

Los bits se numeran de 0 en adelante. Estas operaciones actúan como si el bit de signo de un entero se extendiera indefinidamente hacia la izquierda. Así, por encima de su bit más significativo, un entero positivo tiene 0 bits y un entero negativo tiene 1 bit.

Tabla 1. Operaciones de enteros de nivel de bit de CLEM
Función Resultado Descripción
~~ INT1 Entero Genera el complemento a nivel de bit del entero ENT1. Es decir, hay un 1 en el resultado de cada posición de bits para el que INT1 tiene 0. Siempre es cierto que ~~ INT = –(INT + 1).
INT1 || INT2 Entero El resultado de esta operación es el "o inclusivo" a nivel de bit de ENT1 y ENT2. Es decir, hay un 1 en el resultado de cada posición de bits para la que hay un 1 en ENT1 o ENT2, o en ambos.
INT1 ||/& INT2 Entero El resultado de esta operación es el "o exclusivo" a nivel de bit de ENT1 y ENT2. Es decir, hay un 1 en el resultado de cada posición de bits para la que hay un 1 en ENT1 o ENT2, pero no en ambos.
INT1 && INT2 Entero Genera el "y" a nivel de bit de los enteros ENT1 y ENT2. Es decir, hay un 1 en el resultado de cada posición de bits para la que hay un 1 en ENT1 y ENT2.
INT1 &&~~ INT2 Entero Genera el "y" a nivel de bit de ENT1 y el complemento a nivel de bit de ENT2. Es decir, hay un 1 en el resultado de cada posición de bits para la que hay un 1 en ENT1 y un 0 en ENT2. Esto es lo mismo que INT1 && (~~INT2) y es útil para borrar los bits de INT1 establecidos en INT2.
INT << N Entero Genera el patrón de bits de ENT1 desplazado a la izquierda N posiciones. Un valor negativo para N genera un desplazamiento a la derecha.
INT >> N Entero Genera el patrón de bits de ENT1 desplazado a la derecha N posiciones. Un valor negativo para N genera un desplazamiento a la izquierda.
INT1 &&=_0 INT2 Boolean Es equivalente a la expresión booleana INT1 && INT2 /== 0 pero es más eficiente.
INT1 &&/=_0 INT2 Boolean Es equivalente a la expresión booleana INT1 && INT2 == 0 pero es más eficiente.
integer_bitcount(INT) Entero Cuenta el número de bits 1 ó 0 de la representación en complemento a dos de ENT. Si ENT no es negativo, N es el número de bits 1. Si ENT es negativo, es el número de bits 0. Debido a la extensión del signo, hay un número infinito de bits 0 en un entero no negativo, o de bits 1 en un entero negativo. Siempre es el caso que integer_bitcount(INT) = integer_bitcount(-(INT+1)).
integer_leastbit(INT) Entero Devuelve la posición de bits N correspondiente al bit menos significativo definido en el entero ENT. N es la potencia más elevada de 2 por la que ENT tiene una división exacta.
integer_length(INT) Entero Devuelve la longitud en bits de ENT como un entero en complemento a dos. Es decir, N es el entero más pequeño de modo que INT < (1 << N) if INT >= 0 INT >= (–1 << N) if INT < 0. Si ENT no es negativo, la representación de ENT como entero sin signo requiere un campo de al menos N bits. También se requiere un mínimo de N+1 bits para representar ENT como un entero con signo, independientemente de su signo.
testbit(INT, N) Boolean Comprueba el bit situado en la posición N del entero ENT y devuelve el estado del bit N como un valor booleano, que es verdadero para 1 y falso para 0.
Búsqueda y respuesta de IA generativa
Estas respuestas las genera un modelo de lenguaje grande en watsonx.ai que se basa en el contenido de la documentación del producto. Más información