单片机中比较有符号数和无符号数

  前提:2个数的位数是相同的,如都是8位或16位数。

         第一步:先判断2个数是否相等。

   第二步:再判断2个数的符号。 如果是一正一负,则正数大。

        第三步:如果符号相同,不要再分为同负比较或同正比较。直接全部当作无符号来比较,大的为大数。

                      同为负数的情况下,不要转换为正数,然后比较正数大小,再倒转为正数大的反而小。

       举例: -66 = 0xBE,-67=0xBD;    0xBE = 190,0xBD=189, 0XBE>0XBD.

                 如果2个比较的数位数不同,如其中一个为16位数,-66 = 0xFFBE, 0xFFBE = 65470 > 190. 判断会出错。

      

posted @ 2020-06-02 15:35  xiaokangkp  阅读(1649)  评论(0编辑  收藏  举报