为什么在C++中,值为65536的整数变量的输出是0,< 65536表示负整数,> 65536值表示正整数?

2025-12-15 08:43:30 | FIFA世界杯

为什么在Turbo C++ IDE中,硬编码值为65536的整数变量的输出为0,小于该值的值(65536)为负整数,大于该值的值(65536)为正整数?

如果我们用硬编码值65536初始化一个整数并打印它,它将打印0,如果我们将该整数变量的值从65536更改为65535或更小的值,如65534,则打印-1,-2,...如果我们将该整数变量的值从65536更改为65537或更大,它将打印1,2,3...等等,为什么会发生这种情况呢?我在Turbo C++集成开发环境中验证了这一点。

请解释清楚这背后的逻辑和工作,因为我是一个初学者。