C++ 下溢示例?
C++ underflow example?
我目前正在学习 C++ 入门课程 class,教授给了我们以下示例:
unsigned int TEST = -1;
cout << TEST;
现在,在他的机器上,TEST 被 return 编辑为整数的最大值,因为他强制下溢。但是在我的机器上,它被 returned 为 0。
这种行为是依赖于编译器还是什么?也就是说,为什么我的机器return0,而他的机器return最大?
Is this behavior compiler dependent
没有。它取决于平台,因为 unsigned int
的最大值可能因平台而异。但是所有符合标准的编译器都会显示由 unsigned int
表示的最大值 - 它永远不会是 0.
why did my machine return 0 but his machine return the maximum?
两种可能的选择是:这不是在您的机器上产生输出的程序,或者您机器上的编译器有问题。
我目前正在学习 C++ 入门课程 class,教授给了我们以下示例:
unsigned int TEST = -1;
cout << TEST;
现在,在他的机器上,TEST 被 return 编辑为整数的最大值,因为他强制下溢。但是在我的机器上,它被 returned 为 0。
这种行为是依赖于编译器还是什么?也就是说,为什么我的机器return0,而他的机器return最大?
Is this behavior compiler dependent
没有。它取决于平台,因为 unsigned int
的最大值可能因平台而异。但是所有符合标准的编译器都会显示由 unsigned int
表示的最大值 - 它永远不会是 0.
why did my machine return 0 but his machine return the maximum?
两种可能的选择是:这不是在您的机器上产生输出的程序,或者您机器上的编译器有问题。