C言語,fma()関数で三項演算子「x*y+z」を計算する

スポンサーリンク

鍛錬 698

C言語,fma()関数で三項演算子「x*y+z」を計算する

3つの演算子をとる計算「x * y + z」を行うには、fma()関数を使用します。
 
以下は、fma()関数についてです。

#include <math.h>

double fma(double x, double y, double z);
 

引数

以下は、上記の引数についてです。

引数 意味
double x 乗算する1つ目の数値
double y 乗算する2つ目の数値
double z 乗算結果(x * y)に加算する数値

戻り値

以下は、戻り値についてです。

数値の丸め処理は、乗算と加算の後で 1 回のみ実行されます。

戻り値
double x * y + z の計算結果
スポンサーリンク

プログラム

以下は、x * y + z を計算するプログラム、get_fma.c です。

今回は、次の式を計算しています。

\(12 \times 10 + 3\)
// include
#include <stdio.h>
#include <math.h>

// main
int main(void)
{
	double x, y, z;
	double result;
	
	// x*y+z を計算する
	x = 12;
	y = 10;
	z = 3;
	result = fma(x, y, z);
	printf("%.1lf * %.1lf + %.1lf = %.1lf\n", x, y, z, result);
	
	return 0;
}
スポンサーリンク

実行結果

以下は、プログラム get_fma.c を実行しています。

***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra get_fma.c -lm -o get_fma
***@ubuntu:~/***/test/c$ ./get_fma
12.0 * 10.0 + 3.0 = 123.0

 
上記に示した通り、計算結果は以下の通りであることが分かりました。

\(12 \times 10 + 3 = 123\)
タイトルとURLをコピーしました