[問題] char與int
看板C_and_CPP (C/C++)作者lopohsiung (年輕的心)時間14年前 (2012/05/13 14:48)推噓4(4推 0噓 26→)留言30則, 6人參與討論串1/3 (看更多)
大家好!小弟使用的程式語言是VC++2010,近來使用寫程式遇到一個問題,很需要清楚明白的知道
為什麼,故來請教各位高手。
程式碼很短:
char a;
int b,c;
c=49676;
a=c;
b=a;
cout<<b<<endl;
cout出來的b是12。
假如c=32268,也就是:
char a;
int b,c;
c=32268;
a=c;
b=a;
cout<<b<<endl;
cout出來的b是12。
假如c=29967,也就是:
char a;
int b,c;
c=29967;
a=c;
b=a;
cout<<b<<endl;
cout出來的b是15。
假如c=2320,也就是:
char a;
int b,c;
c=2320;
a=c;
b=a;
cout<<b<<endl;
cout出來的b是16。
到底是為什麼呢?小弟知道char的儲存空間是1byte,儲存值範圍為-128~127,int的話,
書上寫在32位元系統下儲存空間、範圍與long相同,也就是儲存空間是4bytes,儲存值範
圍是-2147483648~2147483647,隱約覺得跟儲存值範圍有關,但確切的原因,電腦到底是
怎麼算的?為什麼cout出來的b會是這樣?能否請知道的大大解說一下?非常感謝!!!
對了!補充一點,小弟的電腦是win7 64位元。
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 123.240.230.141
→
05/13 14:55, , 1F
05/13 14:55, 1F
→
05/13 15:08, , 2F
05/13 15:08, 2F
推
05/13 15:35, , 3F
05/13 15:35, 3F
→
05/13 15:36, , 4F
05/13 15:36, 4F
→
05/13 15:41, , 5F
05/13 15:41, 5F
→
05/13 15:45, , 6F
05/13 15:45, 6F
→
05/13 15:55, , 7F
05/13 15:55, 7F
→
05/13 15:56, , 8F
05/13 15:56, 8F
→
05/13 15:57, , 9F
05/13 15:57, 9F
→
05/13 15:57, , 10F
05/13 15:57, 10F
→
05/13 15:58, , 11F
05/13 15:58, 11F
→
05/13 16:34, , 12F
05/13 16:34, 12F
→
05/13 16:37, , 13F
05/13 16:37, 13F
→
05/13 16:38, , 14F
05/13 16:38, 14F
→
05/13 16:38, , 15F
05/13 16:38, 15F
→
05/13 16:41, , 16F
05/13 16:41, 16F
→
05/13 16:41, , 17F
05/13 16:41, 17F
推
05/13 16:42, , 18F
05/13 16:42, 18F
→
05/13 16:43, , 19F
05/13 16:43, 19F
→
05/13 16:47, , 20F
05/13 16:47, 20F
推
05/13 16:48, , 21F
05/13 16:48, 21F
→
05/13 16:50, , 22F
05/13 16:50, 22F
→
05/13 16:51, , 23F
05/13 16:51, 23F
→
05/13 16:53, , 24F
05/13 16:53, 24F
→
05/13 17:08, , 25F
05/13 17:08, 25F
→
05/13 17:10, , 26F
05/13 17:10, 26F
→
05/13 19:24, , 27F
05/13 19:24, 27F
推
05/13 21:19, , 28F
05/13 21:19, 28F
→
05/13 22:36, , 29F
05/13 22:36, 29F
→
05/13 22:39, , 30F
05/13 22:39, 30F
討論串 (同標題文章)
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章