(Translated by https://www.hiragana.jp/)
div t - Wikipedia

div_tは、C言語げんご標準ひょうじゅんヘッダーstdlib.hおよびC++cstdlib定義ていぎされている構造こうぞうたいである。 intがた除算じょざんおこなdiv関数かんすう利用りようしたがえとしてもちいられる。 除算じょざんおこなったさいしょう剰余じょうよ保持ほじする。

形式けいしき

編集へんしゅう

以下いかはC言語げんごとC++での実装じっそういちれいである。

typedef struct {
    int quot;
    int rem;
} div_t;

quotがしょう、remが剰余じょうよあらわす。

C言語げんごにおけるdiv_t

編集へんしゅう

div関数かんすう

編集へんしゅう

div_t構造こうぞうたいは、div関数かんすうがえとしてもちいられる。以下いかはdiv関数かんすう形式けいしきである。

#include <stdlib.h>
div_t div (int numer, int denom);

コードれい

編集へんしゅう

C言語げんごでのコードれい以下いかしめす。[1]

#include <stdio.h>      /* printf */
#include <stdlib.h>     /* div, div_t */

int main (void)
{
  div_t divresult;
  divresult = div (38,5);
  printf ("38 div 5 => %d, remainder %d.\n", divresult.quot, divresult.rem);
  return 0;
}

上記じょうきのコードをコンパイル・実行じっこうすると、以下いか文字もじれつ出力しゅつりょくされる。

38 div 5 => 7, remainder 3.

C++におけるdiv_t

編集へんしゅう

div関数かんすう

編集へんしゅう

div関数かんすうは、後述こうじゅつするldiv_tとlldiv_t構造こうぞうたいのオーバーライドも存在そんざいする。

#include <cstdlib>
  div_t div (      int numer,       int denom);
 ldiv_t div (     long numer,      long denom);
lldiv_t div (long long numer, long long denom);

コードれい

編集へんしゅう

C++でのコードれい以下いかしめす。[2]

#include <cstdio>
#include <cstdlib>

int main ()
{
  div_t divresult;
  divresult = div (38,5);
  printf ("38 div 5 => %d, remainder %d.\n", divresult.quot, divresult.rem);
  return 0;
}

上記じょうきのコードをコンパイル・実行じっこうすると、以下いか文字もじれつ出力しゅつりょくされる。

38 div 5 => 7, remainder 3.

類似るいじ構造こうぞうたい

編集へんしゅう

ldiv_t構造こうぞうたいはdiv_t構造こうぞうたいのデータがintがたであったところをlongがたえたもの。 ldiv_t構造こうぞうたいのための関数かんすうldivも存在そんざいする。

以下いかはldiv_t構造こうぞうたい実装じっそういちれいである。

typedef struct {
    long quot;
    long rem;
} ldiv_t;

lldiv_t構造こうぞうたいはdiv_t構造こうぞうたいのデータをlong longがたえたもの。 ldiv_t同様どうようこちらも関数かんすうlldivが存在そんざいする。

以下いかはその実装じっそういちれいである。

typedef struct {
    long long quot;
    long long rem;
} lldiv_t;

imaxdiv_t構造こうぞうたいは、div_t構造こうぞうたいのデータがたをintmax_tがたえたもの。 imaxdiv_tをかえとする関数かんすうimaxdivも存在そんざいする。

以下いかはその実装じっそういちれいである。

typedef struct {
    intmax_t quot;
    intmax_t rem;
} imaxdiv_t;

注釈ちゅうしゃく

編集へんしゅう
  1. ^ このソースコードはcplusplus.comより。
  2. ^ このソースコードはcplusplus.comにあったソースコードのヘッダをえたもの。

関連かんれん項目こうもく

編集へんしゅう

外部がいぶリンク

編集へんしゅう