为什么在Turbo C++ IDE中,硬编码值65536的整数变量的输出是0并且小于该值(65536)是负整数并且大于该值(65536)是正整数?为什么在C++中,值为65536的整型变量的输出为0,并且<65536给出了负整数,> 65536值给出了正整数?
如果我们初始化一个硬编码值为65536的整数并打印它,它将打印0,如果我们将该整数变量的值从65536更改为65535或更小如65534等,则打印-1, -2,...如果我们将该整数变量的值从65536更改为65537或更大,它将打印1,2,3 ......等等,为什么会发生这种情况? 我在Turbo C++ IDE上验证了它。
请清楚地解释逻辑和工作背后,因为我是初学者。
你应该阅读开始:http://en.wikipedia.org/wiki/Integer_%28computer_science%29在您选择的编译器中,出现int变量类型为16位,它给出的范围为-32768至32767,如果为无符号,则为0至65535 。 –
'((x + 2^15)mod 2^16) - 2^15' – Mysticial
你的问题就像玩笑一样。请研究你的书 – MajidTaheri