Pascal - Operatörler

Operatör, derleyiciye belirli matematiksel veya mantıksal işlemleri gerçekleştirmesini söyleyen bir semboldür. Pascal, aşağıdaki operatör türlerine izin verir -

  • Aritmetik operatörler
  • İlişkisel operatörler
  • Boole operatörleri
  • Bit operatörleri
  • Operatörleri ayarla
  • Dize operatörleri

Aritmetik, ilişkisel, Boole ve bit operatörlerini tek tek tartışalım. Set operatörlerini ve dizgi işlemlerini daha sonra tartışacağız.

Aritmetik operatörler

Aşağıdaki tablo, Pascal tarafından desteklenen tüm aritmetik operatörleri göstermektedir. Değişken varsayA 10 ve değişken tutar B 20 tutar, sonra -

Örnekleri Göster

Şebeke Açıklama Misal
+ İki işlenen ekler A + B 30 verecek
- İlk işlenenden ikinci işleneni çıkarır A - B -10 verecek
* Her iki işleneni de çarpar A * B 200 verecek
/ Payı paydaya böler B / A 2 verecek
% Modül İşleci ve bir tamsayı bölmesinden sonra kalanı B% A 0 verir

İlişkisel Operatörler

Aşağıdaki tablo, Pascal tarafından desteklenen tüm ilişkisel operatörleri göstermektedir. Değişken varsayA 10 ve değişken tutar B 20 tutar, sonra -

Örnekleri Göster

Şebeke Açıklama Misal
= İki işlenenin değerlerinin eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. (A = B) doğru değil.
<> İki işlenenin değerlerinin eşit olup olmadığını kontrol eder, değerler eşit değilse koşul doğru olur. (A <> B) doğrudur.
> Soldaki işlenenin değerinin sağ işlenenin değerinden büyük olup olmadığını kontrol eder, evet ise koşul doğru olur. (A> B) doğru değil.
< Left operand değerinin right operand değerinden küçük olup olmadığını kontrol eder, eğer evet ise, o zaman koşul doğru olur. (A <B) doğrudur.
> = Sol işlenenin değerinin sağ işlenenin değerinden büyük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. (A> = B) doğru değil.
<= Sol işlenenin değerinin sağ işlenenin değerinden küçük veya ona eşit olup olmadığını kontrol eder, evet ise koşul doğru olur. (A <= B) doğrudur.

Boole Operatörleri

Aşağıdaki tablo, Pascal dili tarafından desteklenen tüm Boole operatörlerini göstermektedir. Tüm bu operatörler Boole işlenenleri üzerinde çalışır ve Boolean sonuçları üretir. Değişken varsayA doğru ve değişken tutar B yanlış tutar, o zaman -

Örnekleri Göster

Şebeke Açıklama Misal
ve Boolean AND operatörü olarak adlandırılır. Her iki işlenen de doğruysa koşul doğru olur. (A ve B) yanlıştır.
ve sonra AND işlecine benzer, ancak, derleyicinin mantıksal ifadeyi değerlendirme sırasını garanti eder. Soldan sağa ve sağ işlenenler yalnızca gerektiğinde değerlendirilir. (A ve sonra B) yanlıştır.
veya Boole VEYA Operatörü olarak adlandırılır. İki işlenenden herhangi biri doğruysa, koşul doğru olur. (A veya B) doğrudur.
ya da başka Boole VEYA'ya benzer, ancak, derleyicinin mantıksal ifadeyi değerlendireceği sırayı garanti eder. Soldan sağa ve sağ işlenenler yalnızca gerektiğinde değerlendirilir. (A veya B) doğrudur.
değil Boolean NOT Operatörü olarak adlandırıldı. İşlenenin mantıksal durumunu tersine çevirmek için kullanılır. Bir koşul doğruysa, Mantıksal NOT operatörü onu yanlış yapar. değil (A ve B) doğru değil.

Bit Operatörleri

Bitsel operatörler bitler üzerinde çalışır ve bit bit işlem gerçekleştirir. Tüm bu operatörler tamsayı işlenenler üzerinde çalışır ve tamsayı sonuçlar üretir. Bitsel ve (&), bitsel veya (|) ve bitsel değil (~) için doğruluk tablosu aşağıdaki gibidir -

p q p & q p | q ~ p ~ q
0 0 0 0 1 1
0 1 0 1 1 0
1 1 1 1 0 0
1 0 0 1 0 1

A = 60 ise; ve B = 13; şimdi ikili biçimde aşağıdaki gibi olacaklar -

Bir = 0011 1100

B = 0000 1101

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

A&B = 0000 1100

A ^ B = 0011 0001

~ A = 1100 0011

Pascal tarafından desteklenen Bitwise operatörleri aşağıdaki tabloda listelenmiştir. A değişkeninin 60 ve B değişkeninin 13 olduğunu varsayın, o zaman:

Örnekleri Göster

Şebeke Açıklama Misal
& İkili AND İşleci, her iki işlenende de varsa sonuca bir bit kopyalar. (A & B) 0000 1100 olan 12 verir
| İkili VEYA İşleci, işlenenlerden herhangi birinde varsa bir bit kopyalar. (A | B), 0011 1101 olan 61 verecek
! İkili VEYA İşleci, işlenenlerden herhangi birinde varsa bir bit kopyalar. Aynı | Şebeke. (A! B) 0011 1101 olan 61 verecek
~ İkili Birler Tamamlayıcı Operatörü tekli ve bitleri 'çevirme' etkisine sahiptir. (~ A), işaretli bir ikili sayı nedeniyle 2'nin tamamlayıcı biçiminde 1100 0011 olan -61'i verecektir.
<< İkili Sol Kaydırma Operatörü. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sola taşınır. Bir << 2 240 verir, yani 1111 0000
>> İkili Sağ Shift Operatörü. Soldaki işlenenler değeri, sağ işlenen tarafından belirtilen bit sayısı kadar sağa taşınır. A >> 2, 0000 1111 olan 15 verir

Lütfen Pascal'ın farklı uygulamalarının bitsel işleçlerde farklılık gösterdiğini unutmayın. Ancak burada kullandığımız derleyici Free Pascal, aşağıdaki bitsel operatörleri destekler -

Operatörler Operasyonlar
değil Bitsel DEĞİL
ve Bitsel AND
veya Bit tabanlı VEYA
Xor Bit düzeyinde özel VEYA
shl Bit tabanlı sola kaydırma
shr Bit tabanlı sağa kaydırma
<< Bit tabanlı sola kaydırma
>> Bit tabanlı sağa kaydırma

Pascal'da Operatör Önceliği

Operatör önceliği, bir ifadedeki terimlerin gruplandırılmasını belirler. Bu, bir ifadenin nasıl değerlendirildiğini etkiler. Bazı operatörler diğerlerinden daha yüksek önceliğe sahiptir; örneğin, çarpma operatörü toplama operatöründen daha yüksek önceliğe sahiptir.

Örneğin x = 7 + 3 * 2; burada, x operatörü + 'dan daha yüksek önceliğe sahip olduğu için 20 değil, 13 olarak atanır, bu nedenle önce 3 * 2 ile çarpılır ve sonra 7'ye eklenir.

Burada, en yüksek önceliğe sahip operatörler tablonun en üstünde, en düşük olanlar ise en altta görünür. Bir ifade içinde, daha yüksek öncelikli operatörler ilk olarak değerlendirilecektir.

Örnekleri Göster

Şebeke Öncelik
~, hayır, En yüksek
*, /, div, mod ve &
|,!, +, - veya,
=, <>, <, <=,>,> =, içinde
veya başka türlü ve sonra En düşük