一、整數除法
C++中的整數除法意味着兩個整數相除時只保留其整數部分,捨棄其餘部分。
其表達式的一般形式為:a/b。
下面是整數除法的代碼示例:
int a = 10, b = 3; int result = a / b; std::cout << "整數除法結果:" << result << std::endl;
上面的代碼將會輸出結果:「整數除法結果:3」。
需要注意的是,如果b等於0,則整數除法會拋出異常,需要特別處理。
二、浮點數除法
C++中的浮點數除法意味着兩個浮點數相除時保留其所有部分,不會進行截斷操作。
其表達式的一般形式為:a/b。
下面是浮點數除法的代碼示例:
float a = 3.14, b = 2; float result = a / b; std::cout << "浮點數除法結果:" << result << std::endl;
上面的代碼將會輸出結果:「浮點數除法結果:1.57」。
三、除法運算符重載
C++中的除法運算符(/)也可以針對自定義類進行重載,以實現類對象的除法操作。
下面是除法運算符重載的代碼示例:
class Complex { public: Complex(float r = 0.0, float i = 0.0) : real(r), imag(i) {}; Complex operator/(Complex b); private: float real; float imag; }; Complex Complex::operator/(Complex b) { float denominator = b.real * b.real + b.imag * b.imag; Complex result((real*b.real + imag*b.imag) / denominator, (imag*b.real - real*b.imag) / denominator); return result; } Complex a(1.0, 2.0), b(3.0, 4.0); Complex result = a / b; std::cout << "複數除法結果:" << result.real << " + " << result.imag << "i" << std::endl;
上面的代碼將會輸出結果:「複數除法結果:0.44 + 0.08i」。
四、取余運算符
C++中的取余運算符(%)用於計算兩個整數的餘數。
其表達式的一般形式為:a%b。
下面是取余運算符的代碼示例:
int a = 10, b = 3; int result = a % b; std::cout << "取余運算結果:" << result << std::endl;
上面的代碼將會輸出結果:「取余運算結果:1」。
五、除法運算符優先級
C++中運算符的優先級是按照一定規則進行排列的,除法運算符的優先級為第三級。
下面是一個示例代碼:
int a = 10, b = 3, c = 2; int result = a / b + c; std::cout << "運算結果:" << result << std::endl;
上面的代碼將會輸出結果:「運算結果:5」。
需要注意的是,在這個表達式中,除法運算符優先級高於加法運算符,因此先進行了除法運算,得到了結果3,然後再加上c的值2,得到最終結果5。
六、除數為0的情況
當被除數除以0時,C++會拋出異常。
下面是一個示例代碼:
int a = 10, b = 0; int result; try { result = a / b; } catch (std::exception e) { std::cout << "除0異常" << std::endl; }
上面的代碼將會輸出結果:「除0異常」。
需要注意的是,在捕獲異常時,可以指定異常類型的形式,例如指定std::logic_error類型的異常,則只有當除數為0時才會拋出異常,其他異常則不會被捕獲。
原創文章,作者:SMNY,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/136685.html