For add : iadd/ladd/fadd/dadd, For sub : isub/lsub/fsub/dsub, For mul : imul/lmul/fmul/dmul For div : idiv/ldiv/fdiv/ddiv For rem : irem/lrem/frem/drem Fro neg : ineg/lneg/fneg/dneg...
- 我们能否只使用一条指令,例如 add,来替代所有的 add 指令?
- 如果问题 1 的答案为真,这会比当前解决方案获得更好的性能吗?
- 如果 Q1 为假,为什么?
最佳答案
就像在真实的机器中一样,不能使用相同的指令来对 double 或 int 取反。这些指令在位级别上的工作方式确实不同,并且仅在足够高的抽象级别上才相同(即对数字求负)。
这就是为什么我们有更高级的语言来抽象出无趣的机器细节。但在汇编语言中,这种区别是至关重要的。
关于java - 在JVM指令中,有些指令的前缀不同,但功能却非常相似。我们真的需要它们吗?如果是,为什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28136934/