关于有符号数相加发生溢出的条件码设置问题

深入理解计算机系统中的p124页的这样一个问题

       c表达式:t=a+b,有符号溢出的条件码

        OF :(a<0==b<0)&&(t<0!=a<0)  :有符号溢出

       这个条件码是什么意思

       有符号溢出,只有当相加的两个数同为正数或者同为负数的时候才有可能发生溢出

      (a<0==b<0)的意思可以、等价为:a<0并且b<0或者a>0并且b>0

   也就是说这两个数同号

   右边括号(t<0!=a<0) 的意思可以等价为:t<0并且a>0或者t>0并且a<0这句话的意思就是

  当两个负数相加发生溢出的时候,结果为正数

当两个正数相加的时候,结果为负数


发布了54 篇原创文章 · 获赞 15 · 访问量 5万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章