繰り返しを使った例として計算機イプシロンを求めてみましょう.
計算機イプシロンとは
計算機の場合, 実数型はトビトビの値を取りますから, 上記のε が定まります. 次のプログラムを 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));
}