商と余り

整数型 (int 型) の商と余り

div.c

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
  stdlib.h [div]

  書式: div_t div(int number,int denom)
  機能: 引数 number / denom の商と余りを求める
  引数: int number: 分子
        int denom: 分母
  戻り値: div_t 型の構造体で返し,
          そのメンバの quot が商で, rem が余りとなる.
*/

/*
  div_t
  typedef struct{
    int quot; // 商
    int rem; // 余り
  }div_t;
*/

#include <stdio.h>
#include <stdlib.h>

int main(void){
  div_t d;

  d = div(20, 3);
  printf("商:%d 余り:%d\n", d.quot, d.rem);

  return 0;
}

div.c の実行結果は:

[cactus:~/code_c/refer]% ./div
商:6 余り:2

整数型 (long 型) の商と余り

ldiv.c

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
/*
  stdlib.h [ldiv]

  書式: ldiv_t ldiv(long number, long denom)
  機能: 引数 number / denom の商と余りを求める
  引数: long number: 分子
        long denom: 分母
  戻り値: ldiv_t 型の構造体で返し,
          そのメンバの quot が商で, rem が余りとなる.
*/

/*
  ldiv_t
  typedef struct{
    long quot; // 商
    long rem; // 余り
  }ldiv_t;
*/

#include <stdio.h>
#include <stdlib.h>

int main(void){
  ldiv_t d;

  d = ldiv(2000000000089, 30030003787);
  printf("商:%li 余り:%li\n", (long int)d.quot, (long int)d.rem);

  return 0;
}

ldiv.c の実行結果は:

[cactus:~/code_c/refer]% ./ldiv
商:66 余り:18019750147

Table Of Contents

Previous topic

数学関数

Next topic

絶対値