回答編集履歴

2

追記

2018/10/11 06:55

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -57,3 +57,21 @@
57
57
  -36.04365338911715
58
58
 
59
59
  ```
60
+
61
+
62
+
63
+ > **sys.float_info**
64
+
65
+ float 型に関する情報を保持している 構造体シーケンス です。
66
+
67
+ ...中略...
68
+
69
+ |属性|float.hのマクロ|説明|
70
+
71
+ |:--|:--|:--|
72
+
73
+ |epsilon|DBL_EPSILON|1と、その次の表現可能なfloat値の差|
74
+
75
+
76
+
77
+ 引用元: [Python3.6.5ドキュメント » Python 標準ライブラリ » sys](https://docs.python.jp/3/library/sys.html#sys.float_info)

1

追記

2018/10/11 06:55

投稿

LouiS0616
LouiS0616

スコア35660

test CHANGED
@@ -28,4 +28,32 @@
28
28
 
29
29
 
30
30
 
31
- 事実上 0 と比較すれば、よほどギリギリの値でなければ判別できるような気がします。
31
+ 事実上 0 と比較すれば判別できるような気がします。
32
+
33
+ ```Python
34
+
35
+ >>> import sys
36
+
37
+ >>>
38
+
39
+ >>> epsilon = sys.float_info.epsilon
40
+
41
+ >>> epsilon
42
+
43
+ 2.220446049250313e-16
44
+
45
+ >>>
46
+
47
+ >>> math.log(0)
48
+
49
+ Traceback (most recent call last):
50
+
51
+ File "<stdin>", line 1, in <module>
52
+
53
+ ValueError: math domain error
54
+
55
+ >>> math.log(0 + epsilon)
56
+
57
+ -36.04365338911715
58
+
59
+ ```