double x = 10 ,y = 0;y = x % 2; この式は正しいですか.

366 ワード

The remainder function and % operator.
次のコードはコンパイルできません(gcc)
#include <stdio.h>
#include <fenv.h>

int main()
{
	double x = 10;

	printf("x % 2 = %lf
",x%2.0); return 0; }

Operator%は整形データにのみ操作可能である(推定%の実現はデータビットshiftに基づいて実現される).
ここで浮動小数点数の取残数呼び出し奥のfmod(doube x,double y)でOK