掛け算のJASメソッドを書けるようにIJVMの演算・命令を実装する方法を考えていたのNOT
ですが、否定メソッドを実装しようとして困っています。
誰でもこれを行う方法を手伝ってもらえますか?
掛け算のJASメソッドを書けるようにIJVMの演算・命令を実装する方法を考えていたのNOT
ですが、否定メソッドを実装しようとして困っています。
誰でもこれを行う方法を手伝ってもらえますか?
基本的に、値の 1 の補数を計算するにはさまざまな方法がありますNOT
。
not_x = NAND(x, x) = NAND(x, ~0);
not_x = NOR(x, x) = NOR(x, 0);
not_x = -x - 1; // because in 2's complement -x = ~x + 1
not_x = 0xFFFFFFFF - x; // assuming 32-bit computer
not_x = x XOR 0xFFFFFFFF; // or x XOR ~0
...
IJVM については知りませんが、ここで説明されているように、4 つの算術演算IADD
、ISUB
、IAND
およびのみをサポートしていますIOR
。ISUB
これを達成するために使用できます
not_x = x XOR ~0 = (x OR ~0) - (x AND ~0)
以来、もっと楽しくできるようになりa XOR b = (a OR b) - (a AND b)
ました。別の解決策は、ルックアップ テーブルを使用することです。