0
我已經做了多次簽名溢出,但每次都是turbo c wraparound。 例如:爲什麼turbo c環繞有符號整數溢出每次雖然有符號整數溢出未定義?
#include <stdio.h>
void main() {
int i = 100000;
printf("%d", i);
getch();
}
輸出是-31072
這是預期輸出,如果環繞完成。 二進制100000(dec)
是11000011010100000
,最後16位是存儲,其中 是1000011010100000
。在兩個補碼錶示1000011010100000
是-31072
。
看看[this](https://www.youtube.com/watch?v=yG1OZ69H_-o)。它很好地解釋了未定義的行爲,更具體地討論了未定義的行爲以及我們有時使用誇張來描述它的方式。 – wally