floatについて
Posted: 2010年10月12日(火) 10:06
#include<stdio.h>
int main(void)
{
float f;
double d;
f=7.77777777777777777777777;
d=7.77777777777777777777777;
printf("floate: %1.18lf\n",f);
printf("double: %1.18lf\n",d);
return 0;
}
コレを実行すると
floate: 7.777777671813964844
double: 7.777777777777777679
となりました。
%1.18lfで小数点以下18ケタを表示の命令とfloateは7ケタdoubleは16ケタを
表示されることはわかります。
671813964844と679の部分の表示の意味がわかりません。
どのような処理でこんな値になったのですか?
int main(void)
{
float f;
double d;
f=7.77777777777777777777777;
d=7.77777777777777777777777;
printf("floate: %1.18lf\n",f);
printf("double: %1.18lf\n",d);
return 0;
}
コレを実行すると
floate: 7.777777671813964844
double: 7.777777777777777679
となりました。
%1.18lfで小数点以下18ケタを表示の命令とfloateは7ケタdoubleは16ケタを
表示されることはわかります。
671813964844と679の部分の表示の意味がわかりません。
どのような処理でこんな値になったのですか?