数値の表現と誤差 ・有限桁で表現するための誤差 ・二進数で表現するための誤差   0.1→0.00011... ・桁落ち(有効桁数の減少)   123.456-123.455=0.001 ・情報落ち(小さい数の欠落)   123.456 + 0.0001 = 123.456 例題1 double、float型を用いて0.1を100,10000、1000000回ずつ加算するプログ ラム 2進数への変換(整数部) 100/2 = 50 -> 0 50/2 = 25 -> 00 25/2 = 12.5 -> 001 12/2 =6 ->0010 6/2 = 3 -> 00100 3/2  =1.5 -> 001001 逆順すると 100 -> 1100100 2進数への変換(小数部) 0.1*2=0.2 -> 0.0 0.2*2=0.4 -> 0.00 0.4*2=0.8 -> 0.000 0.8*2=1.6 -> ・計算機内部での数値計算  ・BCD   4bitの二進数で10進数一桁をあらわす    12.5(10進数)→00010010.1010(2進数)  ・固定小数点   数値を整数部、小数部に分け、それぞれを二進数であらわす   小数点位置は固定   12.5(10進数)→0001100.1000(2進数)  ・浮動小数点   数値を整数部に小数部に分け、それぞれを二進数であらわす   小数点位置は数値の大きさに合わせて移動する ・浮動小数点による数値の表現  ±0.f1 f2 f3 f4 *2乗数 ここでfは0/1  ・32bitで表現する場合  情報処理機構の図。(指数部、符号、仮数部) 演習課題1 問題1  数値を符号部1bit、指数部8bit、仮数部10bitの不動小数点型へ変換する プログラムを変換し、1,2,3,4,8,0.5,0.25,0.1,0.2などの数値を変換する ただし入力フォーマットは {-}{0-9}+{.[0-9]+}|{-}.[0-9]+ とする。ここまで{}は省略可、[0-9]は0-9の任意の数字、+は前者の1回以上の 繰り返し 、|はどちらか一方を示す 問題2 問題1で用いた不動小数点型の加算プログラムを作成し、0.1を100,10000,1000000 回 加算する。その結果をfloat,double型で比較し、その理由を各種誤差の概念を用 いて 説明する