Tcl - Operadores
Um operador é um símbolo que diz ao compilador para realizar manipulações matemáticas ou lógicas específicas. A linguagem Tcl é rica em operadores integrados e fornece os seguintes tipos de operadores -
- Operadores aritméticos
- Operadores Relacionais
- Operadores lógicos
- Operadores bit a bit
- Operador Ternário
Este capítulo explicará os operadores aritméticos, relacionais, lógicos, bit a bit e ternários, um por um.
Operadores aritméticos
A tabela a seguir mostra todos os operadores aritméticos suportados pela linguagem Tcl. Suponha que a variável 'A' contenha 10 e a variável 'B' contenha 20, então -
Mostrar exemplos
| Operador | Descrição | Exemplo |
|---|---|---|
| + | Adiciona dois operandos | A + B dará 30 |
| - | Subtrai o segundo operando do primeiro | A - B dará -10 |
| * | Multiplica ambos os operandos | A * B dará 200 |
| / | Divide numerador por de-numerador | B / A dará 2 |
| % | Operador de Módulo e o restante após uma divisão inteira | B% A dará 0 |
Operadores Relacionais
A tabela a seguir mostra todos os operadores relacionais suportados pela linguagem Tcl. Assumir variávelA contém 10 e variável B contém 20, então -
Mostrar exemplos
| Operador | Descrição | Exemplo |
|---|---|---|
| == | Verifica se os valores dos dois operandos são iguais ou não, se sim a condição torna-se verdadeira. | (A == B) não é verdade. |
| ! = | Verifica se os valores de dois operandos são iguais ou não; se os valores não são iguais, a condição se torna verdadeira. | (A! = B) é verdade. |
| > | Verifica se o valor do operando esquerdo é maior que o valor do operando direito, se sim, a condição torna-se verdadeira. | (A> B) não é verdade. |
| < | Verifica se o valor do operando esquerdo é menor que o valor do operando direito; se sim, a condição torna-se verdadeira. | (A <B) é verdade. |
| > = | Verifica se o valor do operando esquerdo é maior ou igual ao valor do operando direito, se sim a condição torna-se verdadeira. | (A> = B) não é verdade. |
| <= | Verifica se o valor do operando esquerdo é menor ou igual ao valor do operando direito, se sim a condição torna-se verdadeira. | (A <= B) é verdadeiro. |
Operadores lógicos
A tabela a seguir mostra todos os operadores lógicos suportados pela linguagem Tcl. Assumir variávelA detém 1 e variável B segura 0, então -
Mostrar exemplos
| Operador | Descrição | Exemplo |
|---|---|---|
| && | Operador lógico chamado AND. Se ambos os operandos forem diferentes de zero, a condição se torna verdadeira. | (A && B) é falso. |
| || | Operador lógico ou chamado. Se qualquer um dos dois operandos for diferente de zero, a condição se torna verdadeira. | (A || B) é verdade. |
| ! | Operador lógico chamado NOT. Use para reverter o estado lógico de seu operando. Se uma condição for verdadeira, o operador lógico NOT tornará falso. | ! (A && B) é verdade. |
Operadores bit a bit
O operador bit a bit funciona em bits e executa a operação bit a bit. As tabelas de verdade para &, | e ^ são as seguintes -
| 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 |
Suponha que A = 60; e B = 13; agora em formato binário serão os seguintes -
A = 0011 1100
B = 0000 1101
----------------------
A&B = 0000 1100
A | B = 0011 1101
A ^ B = 0011 0001
Os operadores bit a bit suportados pela linguagem Tcl estão listados na tabela a seguir. Assumir variávelA detém 60 e variável B detém 13, então -
Mostrar exemplos
| Operador | Descrição | Exemplo |
|---|---|---|
| E | O operador binário AND copia um bit para o resultado se ele existir em ambos os operandos. | (A e B) dará 12, que é 0000 1100 |
| | | O operador binário OR copia um bit se ele existir em qualquer operando. | (A | B) dará 61, que é 0011 1101 |
| ^ | O operador binário XOR copia o bit se estiver definido em um operando, mas não em ambos. | (A ^ B) dará 49, que é 0011 0001 |
| << | Operador binário de deslocamento à esquerda. O valor dos operandos à esquerda é movido para a esquerda pelo número de bits especificado pelo operando à direita. | Um << 2 dará 240, que é 1111 0000 |
| >> | Operador binário de deslocamento à direita. O valor dos operandos à esquerda é movido para a direita pelo número de bits especificado pelo operando à direita. | Um >> 2 dará 15, que é 0000 1111 |
Operador Ternário
Mostrar exemplos
| Operador | Descrição | Exemplo |
|---|---|---|
| ? : | Ternário | Se a condição for verdadeira? Então valor X: Caso contrário, valor Y |
Precedência de operadores em Tcl
A precedência do operador determina o agrupamento de termos em uma expressão. Isso afeta como uma expressão é avaliada. Certos operadores têm precedência mais alta do que outros; por exemplo, o operador de multiplicação tem precedência mais alta do que o operador de adição.
For example: x = 7 + 3 * 2; aqui, x é atribuído a 13, não 20, porque o operador * tem precedência mais alta que +, então ele primeiro é multiplicado por 3 * 2 e, em seguida, é adicionado a 7.
Aqui, os operadores com a precedência mais alta aparecem na parte superior da tabela, aqueles com a mais baixa aparecem na parte inferior. Em uma expressão, os operadores de precedência mais altos serão avaliados primeiro.
Mostrar exemplos
| Categoria | Operador | Associatividade |
|---|---|---|
| Unário | + - | Direita para esquerda |
| Multiplicativo | * /% | Da esquerda para direita |
| Aditivo | + - | Da esquerda para direita |
| Mudança | << >> | Da esquerda para direita |
| Relacional | <<=>> = | Da esquerda para direita |
| E bit a bit | E | Da esquerda para direita |
| XOR bit a bit | ^ | Da esquerda para direita |
| OR bit a bit | | | Da esquerda para direita |
| E lógico | && | Da esquerda para direita |
| OR lógico | || | Da esquerda para direita |
| Ternário | ?: | Direita para esquerda |