0 / 0
Torna alla versione inglese della documentazione
Operazioni bitwise sui numeri interi
Ultimo aggiornamento: 07 ott 2024
Operazioni di numero intero bitwise (SPSS Modeler)

Queste funzioni consentono la manipolazione dei numeri interi come schemi di bit rappresentanti valori in complemento a due, in cui alla posizione di bit N corrisponde il peso 2**N.

I bit sono numerati a partire da 0 a salire. Queste operazioni vengono eseguite come se il bit del segno di un numero intero venisse esteso a sinistra in modo indefinito. Di conseguenza, in qualsiasi posizione precedente al bit più significativo, un numero intero positivo dispone di 0 bit e un numero intero negativo di 1 bit.

Tabella 1. Operazioni CLEM bitwise integer
Funzione Risultato: Descrizione
~~ INT1 Intero Genera il complemento bitwise del numero intero INT1. Ovvero, c'è un 1 nel risultato per ogni posizione di bit per cui INT1 ha 0. È sempre vero che ~~ INT = –(INT + 1).
INT1 || INT2 Intero Il risultato di questa operazione è costituito dall'OR inclusivo bitwise di INT1 e INT2. Nel risultato è quindi presente un 1 per ogni posizione di bit in cui si riscontra un 1 in INT1 o INT2 oppure in entrambi.
INT1 ||/& INT2 Intero Il risultato di questa operazione è costituito dall'OR esclusivo bitwise di INT1 e INT2. Nel risultato è quindi presente un 1 per ogni posizione di bit in cui si riscontra un 1 in INT1 o in INT2, ma non in entrambi.
INT1 && INT2 Intero Genera l'AND bitwise dei numeri interi INT1 e INT2. Nel risultato è quindi presente un 1 per ciascuna posizione di bit in cui si riscontra un 1 sia in INT1 che in INT2.
INT1 &&~~ INT2 Intero Genera l'AND bitwise di INT1 e il complemento bitwise di INT2. Nel risultato è quindi presente un 1 per ogni posizione di bit in cui si riscontra un 1 in INT1 e uno 0 in INT2. Equivale a INT1 && (~~INT2) e si rivela utile per cancellare i bit di INT1 impostati in INT2.
INT << N Intero Genera lo schema di bit di INT1 con spostamento a sinistra di N posizioni. L'utilizzo di un valore negativo per N determina uno spostamento a destra.
INT >> N Intero Genera lo schema di bit di INT1 con spostamento a destra di N posizioni. L'utilizzo di un valore negativo per N determina uno spostamento a sinistra.
INT1 &&=_0 INT2 Booleano Equivale all'espressione booleana INT1 && INT2 /== 0, ma offre una maggiore efficienza.
INT1 &&/=_0 INT2 Booleano Equivale all'espressione booleana INT1 && INT2 == 0, ma offre una maggiore efficienza.
integer_bitcount(INT) Intero Conta il numero di bit 1 o 0 nella rappresentazione in complemento a due di INT. Se INT non è negativo, N corrisponderà al numero di bit 1. Se INT è negativo, rappresenterà il numero di bit 0. A causa dell'estensione del segno, in un numero intero non negativo è presente un numero infinito di bit 0 e un numero intero negativo contiene un numero infinito di bit 1. È sempre valida la regola integer_bitcount(INT) = integer_bitcount(-(INT+1)).
integer_leastbit(INT) Intero Restituisce la posizione di bit N dell'insieme di bit meno significativo nel numero intero INT. N rappresenta la più elevata potenza di 2 per cui INT può essere diviso esattamente.
integer_length(INT) Intero Restituisce la lunghezza in bit di INT come intero in complemento a due. Ovvero, N è l'intero più piccolo, ad esempio INT < (1 << N) if INT >= 0 INT >= (–1 << N) if INT < 0. Se INT non è negativo, per la rappresentazione di INT come numero intero senza segno sarà richiesto un campo di almeno N bit. In alternativa, per rappresentare INT come numero intero con segno, sarà richiesto un minimo di N+1 bit, indipendentemente dal segno.
testbit(INT, N) Booleano Verifica il bit in posizione N nel numero intero INT e restituisce lo stato del bit N sotto forma di valore booleano, ovvero vero per 1 e falso per 0.
Ricerca e risposta AI generativa
Queste risposte sono generate da un modello di lingua di grandi dimensioni in watsonx.ai basato sul contenuto della documentazione del prodotto. Ulteriori informazioni