コンピュータの仕組み

コンピュータの仕組み

論理演算

def circuit(a, b):
    c = a and b
    return c

誤差

import sys # 変数や関数のライブラリを呼び出し
x=sys.float_info.max #float 型で表せる最大値を x に代入
print(x) # 画面に x の値を表示
x=1.797693134862315799999e+308 #float 型の小数点以下に 5 桁「9」の追加した値を代入
print(x) # 画面に x の値を表示
x=1.8e+308 #float 型の最大値より大きな値を代入
print(x) # 画面に x の値を表示
x = 28-27 #x に 28-27 の計算結果を入れる
print(x) # 画面に x の値を表示
y = 0.28-0.27 #y に 0.28-0.27 の計算結果を入れる
print(y) # 画面 y の値を表示

「0.28-0.27」のような計算の誤差は一見すると微々たる誤差でしかないが,実際に惑星探査機が地球から木星まで行って帰る軌道計算に使用した場合,このような計算誤差が大きな問題になるケースがある。それはなぜか考えてみましょう。また,「0.28-0.27」の計算の誤差を起こさない方法を考えてみましょう。