@@ -8,7 +8,7 @@ msgstr ""
88"Project-Id-Version :Python 3.7\n "
99"Report-Msgid-Bugs-To :\n "
1010"POT-Creation-Date :2018-06-26 18:54+0800\n "
11- "PO-Revision-Date :2016 -11-19 00:37+0000 \n "
11+ "PO-Revision-Date :2018 -11-07 16:57+0800 \n "
1212"Last-Translator :Liang-Bo Wang <me@liang2.tw>\n "
1313"Language-Team :Chinese - TAIWAN (https://github.com/python/python-docs-zh- "
1414"tw)\n "
@@ -81,6 +81,10 @@ msgid ""
8181"fraction is ``3602879701896397 / 2 ** 55`` which is close to but not exactly "
8282"equal to the true value of 1/10."
8383msgstr ""
84+ "只要您停在任何有限的位數,您就只會得到近似值。而現在大多數的計算機中,浮點數"
85+ "是透過二進位分數近似的,其中分子從最高有效位元使開始用 53 個位元表示,分母則"
86+ "是以二為底的指數。在 1/10 的例子中,二進位分數為 ``3602879701896397 / 2 ** "
87+ "55``,而這樣的表示十分地接近,但不完全等同於 1/10 的真正數值。"
8488
8589#: ../../tutorial/floatingpoint.rst:62
8690msgid ""
@@ -90,18 +94,30 @@ msgid ""
9094"if Python were to print the true decimal value of the binary approximation "
9195"stored for 0.1, it would have to display ::"
9296msgstr ""
97+ "由於數值顯示的方式,很多使用者並沒有發現數值是個近似值。Python 只會印出一個十"
98+ "進位近似值,其近似了儲存在計算機中的二進位近似值的十進位數值。在大多數的計算"
99+ "機中,如果 Python 真的會印出完整的十進位數值,其表示儲存在計算機中的 0.1 的二"
100+ "進位近似值,它將顯示為:\n"
101+ "\n"
102+ "::"
93103
94104#: ../../tutorial/floatingpoint.rst:71
95105msgid ""
96106"That is more digits than most people find useful, so Python keeps the number "
97107"of digits manageable by displaying a rounded value instead ::"
98108msgstr ""
109+ "這比一般人感到有用的位數還多,所以 Python 將位數保持在可以接受的範圍,只顯示"
110+ "捨入後的數值:\n"
111+ "\n"
112+ "::"
99113
100114#: ../../tutorial/floatingpoint.rst:77
101115msgid ""
102116"Just remember, even though the printed result looks like the exact value of "
103117"1/10, the actual stored value is the nearest representable binary fraction."
104118msgstr ""
119+ "一定要記住,雖然印出的數字看起來是精準的 1/10,但真正儲存的數值是能表示的二進"
120+ "位分數中,最接近精準數值的數。"
105121
106122#: ../../tutorial/floatingpoint.rst:80
107123msgid ""
@@ -113,6 +129,11 @@ msgid ""
113129"values share the same approximation, any one of them could be displayed "
114130"while still preserving the invariant ``eval(repr(x)) == x``."
115131msgstr ""
132+ "有趣的是,有許多不同的十進位數,共用同一個最接近的二進位近似小數。例如說:數"
133+ "字 ``0.1`` 和 ``0.10000000000000001`` 和 "
134+ "``0.1000000000000000055511151231257827021181583404541015625``,都由 "
135+ "``3602879701896397 / 2 ** 55`` 近似。由於這三個數值共用同一個近似值,任何一個"
136+ "數值都可以被顯示,同時保持 ``eval(repr(x)) == x``。"
116137
117138#: ../../tutorial/floatingpoint.rst:88
118139msgid ""
@@ -121,6 +142,9 @@ msgid ""
121142"Starting with Python 3.1, Python (on most systems) is now able to choose the "
122143"shortest of these and simply display ``0.1``."
123144msgstr ""
145+ "歷史上,Python 的提示字元 (prompt) 與內建的 :func:`repr` 函式會選擇上段說明中"
146+ "有 17 個有效位元的數:``0.10000000000000001``。從 Python 3.1 版開始,"
147+ "Python(在大部分的系統上)可以選擇其中最短的數並簡單地顯示為 ``0.1``。"
124148
125149#: ../../tutorial/floatingpoint.rst:93
126150msgid ""
@@ -130,12 +154,19 @@ msgid ""
130154"arithmetic (although some languages may not *display* the difference by "
131155"default, or in all output modes)."
132156msgstr ""
157+ "注意,這是二進位浮點數理所當然的特性,並不是 Python 的錯誤 (bug),更不是您程"
158+ "式碼的錯誤。只要有程式語言支持硬體的浮點數運算,您將會看到同樣的事情出現在其"
159+ "中(雖然某些程式語言預設不\\ *顯示*\\ 差異,或者預設全部輸出)。"
133160
134161#: ../../tutorial/floatingpoint.rst:99
135162msgid ""
136163"For more pleasant output, you may wish to use string formatting to produce a "
137164"limited number of significant digits::"
138165msgstr ""
166+ "為求更優雅的輸出,您可能想要使用字串的格式化 (string formatting) 產生限定的有"
167+ "效位數:\n"
168+ "\n"
169+ "::"
139170
140171#: ../../tutorial/floatingpoint.rst:111
141172msgid ""