10

この奇妙なPythonの動作を引き起こす可能性があるのは何ですか?

Python 2.6.2 (r262:71600, May 31 2009, 03:55:41)
[GCC 3.3.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> .1
1251938906.2350719
>>> .1
0.23507189750671387
>>> .1
0.0
>>> .1
-1073741823.0
>>> .1
-1073741823.0
>>> .1
-1073741823.0
>>>

0.1、、、、など0.5についても同じ出力が得られます。整数は正しくエコーバックされますが、小数点のあるものはすべてクレイジーな数値になります。5.10.0

これは、ARM用にコンパイルされたPythonバイナリであり、Optwareを介してSynologyDiskStation101jにインストールされます。

誰かが以前にこのようなものを見たことがありますか?

4

2 に答える 2

8

たぶんそれは間違ったVFPバージョン用にコンパイルされています。

または、ARMにVFPがなく、代わりにソフトウェアエミュレーションを使用する必要がありますが、Pythonバイナリはハードウェアを使用しようとします。


編集

DS-101jは、 Intel XScale(armv5b)であるFW IXP420 BB cpu上に構築されています(リンク)。ハードウェア浮動小数点はサポートされていません。また、armv5bの「b」はビッグエンディアンを表します。gccはデフォルトでリトルエンディアンコードを生成するため、ビルドに問題がある人もいます。多分これはあなたのソフトウェアFPlibの問題です。詳細については、この検索を確認してください。

于 2009-09-03T05:26:21.587 に答える
0

zxcatが言ったように、これは、ハードウェア浮動小数点とバストされたソフト浮動小数点ライブラリのないARMで実行しているように聞こえます。クイック検索では、DS101jに含まれるARMバリアントは見つかりませんでした。誰か知ってる?

于 2009-09-03T16:17:14.420 に答える