Dav*_*ian 7 c integer casting overflow integer-overflow
如果我在C中执行以下代码:
#include <stdint.h>
uint16_t a = 4000;
uint16_t b = 8000;
int32_t c = a - b;
printf("%d", c);
Run Code Online (Sandbox Code Playgroud)
它正确打印'-4000'作为结果.但是,我有点困惑:当从另一个中减去一个更大的无符号整数时,不应该有算术溢出吗?这里有什么施法规则?这个问题看起来有点愚蠢,所以任何参考文献都会非常感激.
归档时间: |
|
查看次数: |
3021 次 |
最近记录: |