はじめに プログラムにおいて、長さ、質量、時間、電流、温度などのさまざまな物理量(測定量)を扱うことがあります。これらの物理量をプログラム中で取り扱う際は、整数や浮動小数点数の型の変数、Javaであればint, long, doubleといった型の変数を使うことが多いでしよう。 たとえば、東京からサンフランシスコまで飛行機で移動するのにかかる時間を計算するコードは次のようになります。 int distance = 5130; // 東京からサンフランシスコ(マイル) double speed = 925.0; // 巡航速度(km/h) double requiredTime = distance / speed; // 所要時間(h) このコードには、敢えて単位の扱いにバグ1を含んでいます。バグがありますが、プログラムをコンパイルしてもエラーにはならず、実行することができ、パッと見には、