• 締切済み

これはCPUか何かハードウエアの不具合?

複数台のPCで同じプログラムを使用しているのですが、 1台だけ、計算結果に雑音がのることがあります。 「ハードウエアの不具合」は考えられるのでしょうか? OS:WindowsXP SP3 言語:ASP VBScript DIM x DIM y x = 10 y = x + 1 ときどき、y=11.0000000074644 という結果になる。 OSを再インストールしても結果は変わりません。

みんなの回答

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.3

>CPUやマザーボードなどハードウエアの不具合で、少数点以下にゴミが付くようなことが起きるのでしょうか? ありません。 プログラムの全体を見ないことには何とも言えません。どうやって >ときどき、y=11.0000000074644 という結果になる。 と判断したかなど。

  • HAL007
  • ベストアンサー率29% (1751/5869)
回答No.2

>>y=11.0000000074644 これは11だよね!それが指数で取扱われているだけでしょう。 ASPは人が書いたのを見たことがある程度で初心者以前だけど ASPの特徴として型の宣言が出来ないだよね。 全てDIMで宣言することになり、Variant型になる。型は代入された値により決る。 PCは基本的に数値は指数ハンドリングしているから整数が欲しいなら丸める処理を 入れるしかない。 ハード、特にCPUのバグなどあったら大騒ぎです。以前1度あったけどね! 極限られた計算でしか発生しないと言われていたがニュースとして大きく報じられていた。 CPUが故障したらPCが動きません。デジタル処理しているのでノイズが乗るようなら 色々なところで処理例外やら暴走やらが起きて毎回同じ数値など返すまえにハングするか 強制終了するだけ。

回答No.1

プログラムの全体が見えないと、何にもいえませんよね???? 普通、小数点以下は、型が指定され、スタティックで宣言されていないと、保障されていない。ASPですよね。変数の確実性をデバックしてください(リソースが少ないと、よく犯される。同じマシンでも違いが出る時がある)。 保障がほしければ、型を指定し、スタティックで指定してください。それができる言語を使ってください。

Takun7
質問者

補足

ご返答、ありがとうございます。 まず、「リソースが少ないと、よく犯される。」のリソースとは具体的に何でしょうか? このプログラム自体は、小数点以下を切捨てれば修正できますが、 ハードウエアに何らかの不具合があり、使用中にOSや他のアプリケーションでも影響が出ることを懸念しています。 そもそも、CPUやマザーボードなどハードウエアの不具合で、少数点以下にゴミが付くようなことが起きるのでしょうか?

関連するQ&A