美文网首页
比较指令

比较指令

作者: Shaw_Young | 来源:发表于2021-09-06 18:21 被阅读0次

    比较指令的说明:

    • 比较指令的作用是比较栈顶两个元素的大小,并将比较结果入栈。
    • 比较指令有:dcmpg,dcmpl,fcmpg,fcmpl,lcmp。
      • 与前面讲解的指令类似,首字符d表示double类型,f表示float,l表示long。
    • 对于double和float类型的数字,由于NaN的存在,各有两个版本的比较指令。以float为例,有fcmg和fcmpl两个指令,他们的区别在于在数字比较时,若遇到NaN值,处理结果不同。
    • 指令dcmpl和dcmpg也是类似的,根据其命名可以推测其含义,在此无需赘述。
    • 指令lcmp针对long型整数,由于long型整数没有NaN值,故无需准备两套指令。

    举例:
    指令fcmpg和fcmpl都从栈中弹出两个操作数,并将它们做比较,设栈顶的元素为v2,栈顶顺位第2位的元素为v1,若v1=v2,则压入0;若v1>v2则压入1;若v1<v2则压入-1。
    两个指令的不同之处在于,如果遇到NaN值,fcmpg会压入1,而fcmpl会压入-1。

    梦想很模糊,去追,它会渐变清晰。青春励志,奋斗下去别放弃。

    相关文章

      网友评论

          本文标题:比较指令

          本文链接:https://www.haomeiwen.com/subject/iqekwltx.html