Ç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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin