プロが教える店舗&オフィスのセキュリティ対策術

複数台のPCで同じプログラムを使用しているのですが、
1台だけ、計算結果に雑音がのることがあります。
「ハードウエアの不具合」は考えられるのでしょうか?

OS:WindowsXP SP3
言語:ASP VBScript

DIM x
DIM y
x = 10
y = x + 1
ときどき、y=11.0000000074644 という結果になる。

OSを再インストールしても結果は変わりません。

A 回答 (3件)

>CPUやマザーボードなどハードウエアの不具合で、少数点以下にゴミが付くようなことが起きるのでしょうか?



ありません。

プログラムの全体を見ないことには何とも言えません。どうやって
>ときどき、y=11.0000000074644 という結果になる。
と判断したかなど。
    • good
    • 0

>>y=11.0000000074644



これは11だよね!それが指数で取扱われているだけでしょう。

ASPは人が書いたのを見たことがある程度で初心者以前だけど

ASPの特徴として型の宣言が出来ないだよね。

全てDIMで宣言することになり、Variant型になる。型は代入された値により決る。

PCは基本的に数値は指数ハンドリングしているから整数が欲しいなら丸める処理を

入れるしかない。

ハード、特にCPUのバグなどあったら大騒ぎです。以前1度あったけどね!

極限られた計算でしか発生しないと言われていたがニュースとして大きく報じられていた。


CPUが故障したらPCが動きません。デジタル処理しているのでノイズが乗るようなら

色々なところで処理例外やら暴走やらが起きて毎回同じ数値など返すまえにハングするか

強制終了するだけ。
    • good
    • 0

プログラムの全体が見えないと、何にもいえませんよね????



普通、小数点以下は、型が指定され、スタティックで宣言されていないと、保障されていない。ASPですよね。変数の確実性をデバックしてください(リソースが少ないと、よく犯される。同じマシンでも違いが出る時がある)。

保障がほしければ、型を指定し、スタティックで指定してください。それができる言語を使ってください。

この回答への補足

ご返答、ありがとうございます。

まず、「リソースが少ないと、よく犯される。」のリソースとは具体的に何でしょうか?

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

補足日時:2012/11/11 03:40
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!