1

Javaで解くべき非常に大きな数と複雑な文字列方程式があります。そのために、BeanShell を使用します。この方程式には、ビットごとのバイナリ演算も含めることができます。

 (log(100)*7-9) & (30/3-7)

私が言ったように、そのためには膨大な数を処理する必要がありますL。これまでのところ問題なく動作する各数値に を追加します。しかし、ここでは、3/2I just receive 1and notのようなものを計算するときに問題があり1.5ます。D次に、各数値に for double 値を追加しようとしました1.5が、ここではバイナリ演算and or xorなどでエラーが発生します。もちろん、整数値にのみ適用できるためです。

必要なときに値を受け取りdouble、バイナリ演算を実行する方法はありますか (もちろん、整数値がある場合のみ)。

4

1 に答える 1

0

I would declare the operands as doubles at the outset. It seems to me leaving Beanshell to promote/demote based on the answer introduces uncertainty into your code.

You can cast the double to an int and perform the binary operation every time. As this is a narrowing primitive conversion you should familiar yourself with the Java Language Specs.

(Another possibly helpful answer)

于 2013-10-09T12:46:00.407 に答える