int8类型的-123如何小于int16类型的0

时间:2017-08-16 05:06:48

标签: c++ types

    int8_t a = -123;
    uint32_t b = 0;
    bool c= a < b;

这里'c'为假,因为-123转换为uint32

   int8_t a = -123;
   uint16_t b = 0;
   bool c= a < b;

'c'这里是真的,为什么?

uint在操作中被赋予优先权,就好像操作数中的任何一个是uint类型,另一个操作数也被隐式转换为uint类型。因此,在第一个场景中,输出为false,但为什么在第二个场景中没有遵循此原因。

0 个答案:

没有答案