Tcl - Operator

Operator adalah simbol yang memberi tahu kompiler untuk melakukan manipulasi matematika atau logika tertentu. Bahasa Tcl kaya akan operator bawaan dan menyediakan jenis operator berikut -

  • Operator Aritmatika
  • Operator Relasional
  • Operator Logis
  • Operator Bitwise
  • Operator Ternary

Bab ini akan menjelaskan operator aritmatika, relasional, logika, bitwise, dan terner satu per satu.

Operator Aritmatika

Tabel berikut menunjukkan semua operator aritmatika yang didukung oleh bahasa Tcl. Asumsikan variabel 'A' menampung 10 dan variabel 'B' menampung 20, lalu -

Tunjukkan Contoh

Operator Deskripsi Contoh
+ Menambahkan dua operan A + B akan menghasilkan 30
- Mengurangi operan kedua dari yang pertama A - B akan memberi -10
* Menggandakan kedua operan A * B akan memberi 200
/ Membagi pembilang dengan de-numerator B / A akan memberi 2
% Modulus Operator dan sisa setelah pembagian integer B% A akan memberi 0

Operator Relasional

Tabel berikut menunjukkan semua operator relasional yang didukung oleh bahasa Tcl. Asumsikan variabelA memegang 10 dan variabel B memegang 20, lalu -

Tunjukkan Contoh

Operator Deskripsi Contoh
== Memeriksa apakah nilai dari dua operan sama atau tidak, jika ya maka kondisinya menjadi benar. (A == B) tidak benar.
! = Memeriksa apakah nilai dari dua operan sama atau tidak, jika nilai tidak sama maka kondisi menjadi benar. (A! = B) benar.
> Memeriksa apakah nilai operan kiri lebih besar dari nilai operan kanan, jika ya maka kondisi menjadi benar. (A> B) tidak benar.
< Memeriksa apakah nilai operan kiri kurang dari nilai operan kanan, jika ya maka kondisinya menjadi benar. (A <B) benar.
> = Memeriksa apakah nilai operan kiri lebih besar dari atau sama dengan nilai operan kanan, jika ya maka kondisi menjadi benar. (A> = B) tidak benar.
<= Memeriksa apakah nilai operan kiri kurang dari atau sama dengan nilai operan kanan, jika ya maka kondisi menjadi benar. (A <= B) benar.

Operator Logis

Tabel berikut menunjukkan semua operator logika yang didukung oleh bahasa Tcl. Asumsikan variabelA memegang 1 dan variabel B memegang 0, lalu -

Tunjukkan Contoh

Operator Deskripsi Contoh
&& Disebut Logical AND operator. Jika kedua operan bukan nol, maka kondisi menjadi benar. (A && B) salah.
|| Disebut Logical OR Operator. Jika salah satu dari dua operan bukan nol, maka kondisi menjadi benar. (A || B) itu benar.
! Disebut Logical NOT Operator. Gunakan untuk membalikkan keadaan logis operannya. Jika kondisi benar maka operator NOT akan membuat salah. ! (A && B) benar.

Operator Bitwise

Operator bitwise bekerja pada bit dan melakukan operasi bit demi bit. Tabel kebenaran untuk &, |, dan ^ adalah sebagai berikut -

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

Asumsikan jika A = 60; dan B = 13; sekarang dalam format biner akan menjadi sebagai berikut -

A = 0011 1100

B = 0000 1101

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

A&B = 0000 1100

A | B = 0011 1101

A ^ B = 0011 0001

Operator Bitwise yang didukung oleh bahasa Tcl tercantum dalam tabel berikut. Asumsikan variabelA memegang 60 dan variabel B memegang 13, lalu -

Tunjukkan Contoh

Operator Deskripsi Contoh
& Biner AND Operator menyalin sedikit ke hasil jika ada di kedua operan. (A & B) akan menghasilkan 12, yaitu 0000 1100
| Biner OR Operator menyalin sedikit jika ada di salah satu operan. (A | B) akan menghasilkan 61, yaitu 0011 1101
^ Operator Biner XOR menyalin bit jika diatur dalam satu operan tetapi tidak keduanya. (A ^ B) akan menghasilkan 49, yaitu 0011 0001
<< Operator Binary Left Shift. Nilai operan kiri dipindahkan ke kiri dengan jumlah bit yang ditentukan oleh operan kanan. A << 2 akan menghasilkan 240, yaitu 1111 0000
>> Operator Pergeseran Kanan Biner. Nilai operan kiri dipindahkan ke kanan dengan jumlah bit yang ditentukan oleh operan kanan. A >> 2 akan menghasilkan 15, yaitu 0000 1111

Operator Ternary

Tunjukkan Contoh

Operator Deskripsi Contoh
? : Ternary Jika Kondisi benar? Kemudian nilai X: Jika tidak, nilai Y

Operator Diutamakan di Tcl

Prioritas operator menentukan pengelompokan istilah dalam ekspresi. Ini memengaruhi bagaimana ekspresi dievaluasi. Operator tertentu memiliki prioritas yang lebih tinggi dari yang lain; misalnya, operator perkalian memiliki prioritas yang lebih tinggi daripada operator penjumlahan.

For example: x = 7 + 3 * 2; di sini, x ditetapkan 13, bukan 20 karena operator * memiliki prioritas lebih tinggi dari +, jadi pertama-tama dikalikan dengan 3 * 2 dan kemudian dijumlahkan menjadi 7.

Di sini, operator dengan prioritas tertinggi muncul di bagian atas tabel, operator dengan prioritas terendah muncul di bagian bawah. Dalam ekspresi, operator dengan prioritas lebih tinggi akan dievaluasi terlebih dahulu.

Tunjukkan Contoh

Kategori Operator Asosiatif
Unary + - Kanan ke kiri
Perkalian * /% Kiri ke kanan
Aditif + - Kiri ke kanan
Bergeser << >> Kiri ke kanan
Relasional <<=>> = Kiri ke kanan
Bitwise DAN & Kiri ke kanan
Bitwise XOR ^ Kiri ke kanan
Bitwise ATAU | Kiri ke kanan
DAN logis && Kiri ke kanan
Logis ATAU || Kiri ke kanan
Ternary ?: Kanan ke kiri