繰り返しを使った例として計算機イプシロンを求めてみましょう.
計算機イプシロンとは
計算機の場合, 実数型はトビトビの値を取りますから, 上記のε が定まります. 次のプログラムを 2-4.c という名前で入力し, コンパイルして実行してみて下さい. 処理内容については, 各自考えて下さい.
/* File name 2-4.c */ /* Machine epsilon */ #include <stdio.h> main() { int i; /* 繰り返しの数を数える */ double e; /* 計算機イプシロン */ e = 1.0; /* 実数型では,代入する数も少数にします */ /* 2で割っていき,1.0 + e = 1.0 となったらループを抜けます */ for (i = 0; 1.0 + e > 1.0; i++) { e /= 2.0; } /* ループを抜ける一つ手前の値が計算機イプシロンです */ printf("machine epsilon = 2^(%d)\n", -(i-1)); }