Skip to content

Commit 592ccd1

Browse files
yichung279adrianliaw
authored andcommitted
Translate a part of tutorial/floatingpoint
See #51 for the full PR revision history
1 parent 0a5db47 commit 592ccd1

File tree

1 file changed

+32
-1
lines changed

1 file changed

+32
-1
lines changed

tutorial/floatingpoint.po

+32-1
Original file line numberDiff line numberDiff line change
@@ -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."
8383
msgstr ""
84+
"只要您停在任何有限的位數,您就只會得到近似值。而現在大多數的計算機中,浮點數"
85+
"是透過二進位分數近似的,其中分子從最高有效位元使開始用 53 個位元表示,分母則"
86+
"是以二為底的指數。在 1/10 的例子中,二進位分數為 ``3602879701896397 / 2 ** "
87+
"55``,而這樣的表示十分地接近,但不完全等同於 1/10 的真正數值。"
8488

8589
#: ../../tutorial/floatingpoint.rst:62
8690
msgid ""
@@ -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 ::"
9296
msgstr ""
97+
"由於數值顯示的方式,很多使用者並沒有發現數值是個近似值。Python 只會印出一個十"
98+
"進位近似值,其近似了儲存在計算機中的二進位近似值的十進位數值。在大多數的計算"
99+
"機中,如果 Python 真的會印出完整的十進位數值,其表示儲存在計算機中的 0.1 的二"
100+
"進位近似值,它將顯示為:\n"
101+
"\n"
102+
"::"
93103

94104
#: ../../tutorial/floatingpoint.rst:71
95105
msgid ""
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 ::"
98108
msgstr ""
109+
"這比一般人感到有用的位數還多,所以 Python 將位數保持在可以接受的範圍,只顯示"
110+
"捨入後的數值:\n"
111+
"\n"
112+
"::"
99113

100114
#: ../../tutorial/floatingpoint.rst:77
101115
msgid ""
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."
104118
msgstr ""
119+
"一定要記住,雖然印出的數字看起來是精準的 1/10,但真正儲存的數值是能表示的二進"
120+
"位分數中,最接近精準數值的數。"
105121

106122
#: ../../tutorial/floatingpoint.rst:80
107123
msgid ""
@@ -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``."
115131
msgstr ""
132+
"有趣的是,有許多不同的十進位數,共用同一個最接近的二進位近似小數。例如說:數"
133+
"字 ``0.1`` 和 ``0.10000000000000001`` 和 "
134+
"``0.1000000000000000055511151231257827021181583404541015625``,都由 "
135+
"``3602879701896397 / 2 ** 55`` 近似。由於這三個數值共用同一個近似值,任何一個"
136+
"數值都可以被顯示,同時保持 ``eval(repr(x)) == x``。"
116137

117138
#: ../../tutorial/floatingpoint.rst:88
118139
msgid ""
@@ -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``."
123144
msgstr ""
145+
"歷史上,Python 的提示字元 (prompt) 與內建的 :func:`repr` 函式會選擇上段說明中"
146+
"有 17 個有效位元的數:``0.10000000000000001``。從 Python 3.1 版開始,"
147+
"Python(在大部分的系統上)可以選擇其中最短的數並簡單地顯示為 ``0.1``。"
124148

125149
#: ../../tutorial/floatingpoint.rst:93
126150
msgid ""
@@ -130,12 +154,19 @@ msgid ""
130154
"arithmetic (although some languages may not *display* the difference by "
131155
"default, or in all output modes)."
132156
msgstr ""
157+
"注意,這是二進位浮點數理所當然的特性,並不是 Python 的錯誤 (bug),更不是您程"
158+
"式碼的錯誤。只要有程式語言支持硬體的浮點數運算,您將會看到同樣的事情出現在其"
159+
"中(雖然某些程式語言預設不\\ *顯示*\\ 差異,或者預設全部輸出)。"
133160

134161
#: ../../tutorial/floatingpoint.rst:99
135162
msgid ""
136163
"For more pleasant output, you may wish to use string formatting to produce a "
137164
"limited number of significant digits::"
138165
msgstr ""
166+
"為求更優雅的輸出,您可能想要使用字串的格式化 (string formatting) 產生限定的有"
167+
"效位數:\n"
168+
"\n"
169+
"::"
139170

140171
#: ../../tutorial/floatingpoint.rst:111
141172
msgid ""

0 commit comments

Comments
 (0)