取模運算符 (%) 計算兩數(shù)相除的余數(shù)。規(guī)則如下:正數(shù)相除:余數(shù)非負,小于除數(shù)。負數(shù)相除:余數(shù)負,絕對值小于除數(shù)絕對值。正數(shù)除以負數(shù):余數(shù)負,絕對值小于除數(shù)絕對值。負數(shù)除以正數(shù):余數(shù)正,小于除數(shù)。
C++ 中的取模運算符 (%)
取模運算符 (%) 用來計算兩數(shù)相除后得到的余數(shù)。它是一個二元運算符,這意味著它需要兩個操作數(shù)。
語法
<code class="cpp">result = operand1 % operand2;</code>
登錄后復(fù)制
運算規(guī)則
兩個正數(shù)相除:結(jié)果是一個非負余數(shù),小于除數(shù)。
兩個負數(shù)相除:結(jié)果是一個負余數(shù),且絕對值小于除數(shù)的絕對值。
正數(shù)除以負數(shù):結(jié)果是一個負余數(shù),且絕對值小于除數(shù)的絕對值。
負數(shù)除以正數(shù):結(jié)果是一個正余數(shù),且小于除數(shù)。
不能對浮點數(shù)進行取模運算。
示例
<code class="cpp">int a = 10 % 3; // 結(jié)果為 1 int b = -10 % 3; // 結(jié)果為 -1 int c = 10 % -3; // 結(jié)果為 1 int d = -10 % -3; // 結(jié)果為 -1</code>
登錄后復(fù)制
注意事項
如果除數(shù)為 0,則取模運算會導(dǎo)致運行時錯誤。
取模運算符的優(yōu)先級比算術(shù)運算符低。
取模運算符可以用于解決各種編程問題,例如:
計算循環(huán)的次數(shù)
確定一個數(shù)字是否能被另一個數(shù)字整除
生成隨機數(shù)
其他用法
取模運算符還可用于位運算中,用來獲取二進制數(shù)的特定位:
<code class="cpp">int mask = 1 </code>
登錄后復(fù)制
通過這種方式,我們可以檢查或設(shè)置二進制數(shù)的特定位。