int 的 overflow
(高顯忠, sjgau4311@gmail.com, 2011-10-02 10:12)
1樓
#if 0
a= 40000, b= 60000, c= -1894967296
請按任意鍵繼續 . . .
int 型態的變數是 4- 個 Bytes, 32- 個 bits,
有 一個 bit 拿來表示 正/或是 負,剩下 32- 個 bits,
從 0 開始編排正的整數,所以可以表示的範圍是
0 到 +2147483647
#endif
// ----------------------------------------------
#include <cstdlib>
#include <iostream>
using namespace std;
int main(int argc, char *argv[])
{
int a, b, c;
a= 40000;
b= 60000;
c= a*b;
printf("\n a= %d, b= %d, c= %d \n", a, b, c);
system("PAUSE");
return EXIT_SUCCESS;
}