Tcl - Operatori

Un operatore è un simbolo che dice al compilatore di eseguire specifiche manipolazioni matematiche o logiche. Il linguaggio Tcl è ricco di operatori incorporati e fornisce i seguenti tipi di operatori:

  • Operatori aritmetici
  • Operatori relazionali
  • Operatori logici
  • Operatori bit per bit
  • Operatore ternario

Questo capitolo spiegherà uno per uno gli operatori aritmetici, relazionali, logici, bit per bit e ternari.

Operatori aritmetici

La tabella seguente mostra tutti gli operatori aritmetici supportati dal linguaggio Tcl. Supponiamo che la variabile "A" contenga 10 e la variabile "B" contenga 20, quindi -

Mostra esempi

Operatore Descrizione Esempio
+ Aggiunge due operandi A + B darà 30
- Sottrae il secondo operando dal primo A - B darà -10
* Moltiplica entrambi gli operandi A * B darà 200
/ Divide il numeratore per il de-numeratore B / A darà 2
% Operatore modulo e resto di dopo una divisione intera B% A darà 0

Operatori relazionali

La tabella seguente mostra tutti gli operatori relazionali supportati dal linguaggio Tcl. Assumi variabileA detiene 10 e variabile B detiene 20, quindi -

Mostra esempi

Operatore Descrizione Esempio
== Controlla se i valori di due operandi sono uguali o meno, in caso affermativo la condizione diventa vera. (A == B) non è vero.
! = Controlla se i valori di due operandi sono uguali o meno, se i valori non sono uguali la condizione diventa vera. (A! = B) è vero.
> Controlla se il valore dell'operando sinistro è maggiore del valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> B) non è vero.
< Controlla se il valore dell'operando sinistro è inferiore al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <B) è vero.
> = Controlla se il valore dell'operando sinistro è maggiore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A> = B) non è vero.
<= Controlla se il valore dell'operando sinistro è minore o uguale al valore dell'operando destro, in caso affermativo la condizione diventa vera. (A <= B) è vero.

Operatori logici

La tabella seguente mostra tutti gli operatori logici supportati dal linguaggio Tcl. Assumi variabileA detiene 1 e variabile B tiene 0, quindi -

Mostra esempi

Operatore Descrizione Esempio
&& Chiamato operatore AND logico. Se entrambi gli operandi sono diversi da zero, la condizione diventa vera. (A && B) è falso.
|| Chiamato Operatore OR logico. Se uno dei due operandi è diverso da zero, la condizione diventa vera. (A || B) è vero.
! Chiamato operatore NOT logico. Utilizzare per invertire lo stato logico del suo operando. Se una condizione è vera, l'operatore NOT logico la renderà falsa. ! (A && B) è vero.

Operatori bit per bit

L'operatore bit per bit lavora sui bit ed esegue operazioni bit per bit. Le tabelle di verità per &, | e ^ sono le seguenti:

p q p & q p | q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

Assumiamo se A = 60; e B = 13; ora in formato binario saranno i seguenti -

A = 0011 1100

B = 0000 1101

----------------------

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

Gli operatori bit per bit supportati dal linguaggio Tcl sono elencati nella tabella seguente. Assumi variabileA detiene 60 e variabile B tiene 13, quindi -

Mostra esempi

Operatore Descrizione Esempio
& L'operatore AND binario copia un po 'nel risultato se esiste in entrambi gli operandi. (A e B) darà 12, che è 0000 1100
| L'operatore OR binario copia un bit se esiste in uno degli operandi. (A | B) darà 61, che è 0011 1101
^ L'operatore XOR binario copia il bit se è impostato in un operando ma non in entrambi. (A ^ B) darà 49, che è 0011 0001
<< Operatore binario di spostamento sinistro. Il valore degli operandi di sinistra viene spostato a sinistra del numero di bit specificato dall'operando di destra. Un << 2 darà 240, che è 1111 0000
>> Operatore binario di spostamento a destra. Il valore dell'operando sinistro viene spostato a destra del numero di bit specificato dall'operando destro. Un >> 2 darà 15, che è 0000 1111

Operatore ternario

Mostra esempi

Operatore Descrizione Esempio
? : Ternario Se la condizione è vera? Quindi valore X: altrimenti valore Y

Precedenza degli operatori in Tcl

La precedenza degli operatori determina il raggruppamento dei termini in un'espressione. Ciò influisce sul modo in cui viene valutata un'espressione. Alcuni operatori hanno la precedenza maggiore di altri; ad esempio, l'operatore di moltiplicazione ha una precedenza maggiore dell'operatore di addizione.

For example: x = 7 + 3 * 2; qui, x è assegnato 13, non 20 perché l'operatore * ha una precedenza maggiore di +, quindi viene prima moltiplicato per 3 * 2 e poi somma in 7.

Qui, gli operatori con la precedenza più alta vengono visualizzati nella parte superiore della tabella, quelli con la priorità più bassa in fondo. All'interno di un'espressione, verranno valutati per primi gli operatori con precedenza più alta.

Mostra esempi

Categoria Operatore Associatività
Unario + - Da destra a sinistra
Moltiplicativo * /% Da sinistra a destra
Additivo + - Da sinistra a destra
Cambio << >> Da sinistra a destra
Relazionale <<=>> = Da sinistra a destra
Bitwise AND & Da sinistra a destra
Bitwise XOR ^ Da sinistra a destra
OR bit per bit | Da sinistra a destra
AND logico && Da sinistra a destra
OR logico || Da sinistra a destra
Ternario ?: Da destra a sinistra