Aracılığıyla paylaş


Çarpan İşleçleri ve Modulus İşleci

Sözdizimi

expression * expression
expression / expression
expression % expression

Açıklamalar

Çarpma işleçleri şunlardır:

  • Çarpma (*)

  • Bölme (/)

  • Modulus (bölmeden kalan) (%)

Bu ikili işleçlerde soldan sağa ilişkilendirilebilirlik vardır.

Çarpma işleçleri aritmetik türlerin işlenenlerini alır. Modül işlecinin (%) işlenenlerinin tam sayı türünde olması gerektiğinden daha katı bir gereksinimi vardır. (Kayan noktalı bölmenin geri kalanını almak için fmod adlı çalışma zamanı işlevini kullanın.) Standart Dönüştürmeler kapsamındaki dönüştürmeler işlenenlere uygulanır ve sonuç dönüştürülen türdedir.

Çarpma işleci, birinci işlenenin ikinci işlenen ile çarpımının sonucu verir.

Bölme işleci, birinci işlenenin ikinci işlenene bölünmesinin sonucu verir.

modulus işleci, e1'in ilk işlenen olduğu ve e2'nin ikinci olduğu şu ifade tarafından verilen kalan değeri verir: e1 - (e1 / e2) * e2, her iki işlenen de tam sayı türündedir.

Bir bölüm ya da mod ifadesinde 0'a bölme tanımlı değildir ve bir çalışma zamanı hatasına neden olur. Bu nedenle, aşağıdaki ifadeler tanımlanmamış, hatalı sonuçlar oluşturur:

i % 0
f / 0.0

Çarpma, bölme ya da mod ifadelerinde her iki işlenen de aynı işarete sahipse, sonuç pozitif olur. Aksi halde, sonuç negatif olur. Bir mod işleminin işaretinin sonucu uygulama tarafından tanımlanır.

Not

Çarpma işleçleri tarafından gerçekleştirilen dönüştürmeler taşma veya yetersiz kalma koşulları sağlamadığından, çarpma işleminin sonucu dönüştürme sonrası işlenenlerin türünde gösterilmezse bilgiler kaybolabilir.

Microsoft'a Özgü

Microsoft C++'da, bir mod ifadesinin sonucu her zaman birinci işlenenin işaretiyle aynıdır.

END Microsoft'a Özgü

Hesaplanan iki tamsayı bölümünü kesin değilse ve yalnızca tek bir işlenen negatif ise, sonuç bölme işleminin vereceği tam değerden daha küçük en büyük tamsayı (büyüklükte, işaret dikkate alınmadığında) olur. Örneğin, -11 / 3 hesaplanan değeri -3,666666666'dır. Bu integral bölümünün sonucu -3'tür.

Çarpım işleçleri arasındaki ilişki, kimlik (e1 e2) * e2 e1 % / e2 + == e1 tarafından verilir.

Örnek

Aşağıdaki program çarpma işleçlerini gösterir. Her iki işlenenin 10 / 3 de bölmeden önce türünde float olması için kesilmesini önlemek için her iki işlenenin float de yazılacak şekilde açıkça yayınlanması gerektiğini unutmayın.

// expre_Multiplicative_Operators.cpp
// compile with: /EHsc
#include <iostream>
using namespace std;
int main() {
   int x = 3, y = 6, z = 10;
   cout  << "3 * 6 is " << x * y << endl
         << "6 / 3 is " << y / x << endl
         << "10 % 3 is " << z % x << endl
         << "10 / 3 is " << (float) z / x << endl;
}

Ayrıca bkz.

İkili İşleçli İfadeler
C++ Yerleşik İşleçler, Öncelik ve İlişkisellik
C Çarpma İşleçleri