Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Sintaks
expression * expression
expression / expression
expression % expression
Keterangan
Operator multiplikatif adalah:
Perkalian (
*
)Divisi (
/
)Modulus (sisa dari divisi) (
%
)
Operator biner ini memiliki associativity kiri-ke-kanan.
Operator multiplikatif mengambil operand dari jenis aritmatika. Operator modulus (%) memiliki persyaratan yang lebih ketat karena operand-nya harus berjenis integral. (Untuk mendapatkan sisa divisi floating-point, gunakan fungsi run-time, fmod.) Konversi yang tercakup dalam Konversi Standar diterapkan ke operand, dan hasilnya adalah jenis yang dikonversi.
Operator perkalian menghasilkan hasil mengalikan operand pertama dengan yang kedua.
Operator divisi menghasilkan hasil pembagian operand pertama dengan yang kedua.
Operator modulus menghasilkan sisa yang diberikan oleh ekspresi berikut, di mana e1 adalah operan pertama dan e2 adalah yang kedua: e1 - (e1 / e2) * e2, di mana kedua operan memiliki jenis integral.
Pembagian dengan 0 dalam pembagian atau ekspresi modulus tidak ditentukan dan menyebabkan kesalahan run-time. Oleh karena itu, ekspresi berikut menghasilkan hasil yang tidak terdefinisi dan salah:
i % 0
f / 0.0
Jika kedua operan ke ekspresi perkalian, pembagian, atau modulus memiliki tanda yang sama, hasilnya positif. Jika tidak, hasilnya negatif. Hasil dari tanda operasi modulus ditentukan implementasi.
Catatan
Karena konversi yang dilakukan oleh operator multiplikatif tidak menyediakan kondisi overflow atau underflow, informasi dapat hilang jika hasil operasi multiplikatif tidak dapat direpresentasikan dalam jenis operand setelah konversi.
Khusus Microsoft
Di Microsoft C++, hasil ekspresi modulus selalu sama dengan tanda operand pertama.
END Khusus Microsoft
Jika pembagian komputasi dua bilangan bulat tidak tepat dan hanya satu operand yang negatif, hasilnya adalah bilangan bulat terbesar (dalam besaran, mengacuhkan tanda) yang kurang dari nilai pasti yang akan dihasilkan operasi pembagian. Misalnya, nilai komputasi -11 / 3 adalah -3.666666666. Hasil dari pembagian integral tersebut adalah -3.
Hubungan antara operator multiplikatif diberikan oleh identitas (e1 / e2) * e2 + e1 % e2 == e1.
Contoh
Program berikut menunjukkan operator multiplikatif. Perhatikan bahwa salah satu operan 10 / 3
harus secara eksplisit ditransmisikan ke jenis float
untuk menghindari pemotongan sehingga kedua operan berjenis float
sebelum pembagian.
// 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;
}
Lihat juga
Ekspresi dengan Operator Biner
Operator, Prioritas, dan Asosiatif Bawaan C++
Operator Multiplikatif C