【发布时间】:2019-03-16 04:59:43
【问题描述】:
unsigned int t = 10;
int d = 16;
float c = t - d;
int e = t - d;
为什么c的值为正,而e的值为负?
【问题讨论】:
-
如果您将
signed值隐式转换为unsigned或反之亦然,大多数编译器都有警告您的选项。在 GCC 和 Clang 上,这是-Wconversion。你的问题是一个很好的例子,说明为什么用它来编译是个好主意。 -
如果您显示您看到的实际值会有所帮助。
标签: c++ language-lawyer unsigned negative-number