[問題] 2的32次方in C

看板C_and_CPP作者 (C'est la Vie)時間15年前 (2010/07/28 22:31), 編輯推噓6(6014)
留言20則, 11人參與, 最新討論串1/2 (看更多)
我考試遇到的問題... 叫我用 C語言寫2的32次方 表示出來 不知道他的用意是叫我寫甚麼答案 2的32次方應該是算不出來的對吧?? 還是有甚麼特殊的方法可以算出其值? 感謝!! -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 118.166.213.92

07/28 22:34, , 1F
1LLU<<32
07/28 22:34, 1F

07/28 22:45, , 2F
printf("4294967296"); 這樣呢?
07/28 22:45, 2F

07/28 22:53, , 3F
= = 樓上這樣一定0分..
07/28 22:53, 3F

07/28 23:04, , 4F
2F的寫法也不能說錯啊XD 他用char string表示出來了呀XD
07/28 23:04, 4F

07/28 23:05, , 5F
其實這題目有點語焉不詳, 除非考試或作業有相關提示或範
07/28 23:05, 5F

07/28 23:05, , 6F
圍, 不然可用的方法不少, 確實應該問清楚希望你們怎麼答
07/28 23:05, 6F

07/28 23:07, , 7F
Ex: pow(2, 32); 1F的答案; 4294967296LL; ....etc
07/28 23:07, 7F

07/29 00:57, , 8F
printf("2的32次方"); /* 被毆+拖走 */
07/29 00:57, 8F

07/29 02:03, , 9F
結果老師拿 Turbo C 去編譯...
07/29 02:03, 9F

07/29 03:17, , 10F
用unsigned int 不就好了
07/29 03:17, 10F

07/29 03:43, , 11F
unsigned int不夠喔
07/29 03:43, 11F

07/29 03:51, , 12F
uint64
07/29 03:51, 12F

07/29 03:52, , 13F
還有根據題目的問法,如果2樓老師打錯我一定去抗議
07/29 03:52, 13F

07/29 03:52, , 14F
題目只是說『表示』,又不是說要『計算』
07/29 03:52, 14F

07/29 03:54, , 15F
喔 的確 2^31-1
07/29 03:54, 15F

07/29 11:42, , 16F
用陣列計算 一個陣列元素代表一個位數 這樣應該可以
07/29 11:42, 16F

07/29 11:44, , 17F
你老師知道2^32會溢位 而且turbo C不支援 64 bit的int
07/29 11:44, 17F

07/29 11:45, , 18F
擺明了就是要你用這種方法去解
07/29 11:45, 18F

07/29 13:35, , 19F
看到pow(2,32)才想起來 其實double可以準確顯示2^32
07/29 13:35, 19F

07/30 20:33, , 20F
unsigned long int?
07/30 20:33, 20F
文章代碼(AID): #1CK3z00H (C_and_CPP)
討論串 (同標題文章)
文章代碼(AID): #1CK3z00H (C_and_CPP)