Menu
CoddyTech

剰余演算子

CoddyのRustジャーニー「基礎」セクションの一部。レッスン 16/75。

剰余演算子 % は、割り算の余りを返します。Rust では、次のような簡単な構文で使います。

let result = dividend % divisor;
  • 被除数: 割られる数。
  • 除数: 被除数を割る数。
  • 結果: 割り算の余り。

例:

let result = 10 % 3;

ここでは、10を3で割ります。3は10に3回入り、余りは1です。したがって、result は1になります。

被除数が除数より小さい場合、除数は0回しか入らないため、余りは被除数そのものになります。2 % 9 は2です。

通常、剰余は数が偶数か奇数かを調べるために使われます。

  • 数が偶数の場合、2で割ると余りは0になります。
  • 数が奇数の場合、2で割ると余りは1になります。数が負の場合は、-1になります。

浮動小数点数(f64)で剰余演算を使う場合、整数の場合と同様に機能し、余りに小数部分が含まれることがあります。たとえば:

let result: f64 = 5.2 % 2.0;
// result は約 1.2 です

仕組みは次のとおりです。2.0は5.2に2回入ります(4.0)。余りは1.2です(5.2 - 4.0 = 1.2)。f64では5.2を正確に格納できないため、resultを出力すると1.2000000000000002と表示されます。

別の例:

let result: f64 = 7.8 % 3.5;
// result は約 0.8(0.7999999999999998 と表示される)
challenge icon

チャレンジ

初心者

a (i32)、b (f64)、c (i32)の3つの変数を、それぞれ9、2.6、11で初期化するコードを書きましょう。

その後、次の変数を初期化しましょう。

  • d (i32)には、aを2で割った余りを格納します。 
  • e (i32)には、aを3で割った余りを格納します。
  • f (f64)には、bを1.5で割った余りを格納します。
  • g (f64)には、bを3.9で割った余りを格納します。
  • h (i32)には、cを10で割った余りを格納します。

結果を確認して、被除数と除数の違いが結果にどのような影響を与えるか見てみましょう。

自分で試してみよう

fn main() {
    // 以下にコードを入力してください
    
    
    // 以下の行を変更しないでください
    println!("a = {}", a);
    println!("b = {}", b);
    println!("c = {}", c);
    println!("d = {}", d);
    println!("e = {}", e);
    println!("f = {}", f);
    println!("g = {}", g);
    println!("h = {}", h);
}
quiz icon腕試し

このレッスンには短いクイズがあります。レッスンを始めて解答し、進捗を記録しましょう。

基礎のすべてのレッスン

自分で練習してみよう: Rustオンラインコンパイラ