C言語,logb()関数で浮動小数点数の指数を浮動小数点数で取得

スポンサーリンク

鍛錬 691

C言語,logb()関数で浮動小数点数の指数部を浮動小数点数で取得

浮動小数点数の指数部を浮動小数点数で取得するには、logb()関数を使用します。
 
以下は、logb()関数についてです。

#include <math.h>

double logb(double x);
 

引数

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

引数 意味
double x 指数部を取得する対象の浮動小数点数

戻り値

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

戻り値
double 指定した引数の指数部(浮動小数点数)
スポンサーリンク

プログラム

以下は、浮動小数点数の指数部を浮動小数点数で取得するプログラム、get_logb.c です。

今回は、16 と 1/16 について、指数部を取得しています。

\(底^{\displaystyle ?} = 16\)
\(底^{\displaystyle ?} = \displaystyle \frac{ 1 }{ 16 }\)
// include
#include <stdio.h>
#include <math.h>

// main
int main(void)
{
	double num;
	double index;
	
	// 16の指数部を浮動小数点数で取得
	num = 16.0;
	index = logb(num);
	printf("%.4lf の指数部(浮動小数点数値) = %lf\n", num, index);
	
	// 1/16の指数部を浮動小数点数で取得
	num = 1.0 / 16.0;
	index = logb(num);
	printf("%.4lf の指数部(浮動小数点数値) = %lf\n", num, index);
	
	return 0;
}
スポンサーリンク

実行結果

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

***@ubuntu:~/***/test/c$ 
***@ubuntu:~/***/test/c$ gcc -Wall -Wextra get_logb.c -lm -o get_logb
***@ubuntu:~/***/test/c$ ./get_logb
16.0000 の指数部(浮動小数点数値) = 4.000000
0.0625 の指数部(浮動小数点数値) = -4.000000

 
上記に示した通り、16 の指数部は 4 、1/16 の指数部は -4 であることが分かりました。

\(底^{4} = 16\)
\(底^{-4} = \displaystyle \frac{ 1 }{ 16 }\)
タイトルとURLをコピーしました