[問題] g++版本與int範圍的問題

看板C_and_CPP (C/C++)作者 (文子水交)時間13年前 (2013/05/28 21:51), 編輯推噓3(307)
留言10則, 5人參與, 最新討論串1/1
不好意思想請問一個滿蠢的問題 因為上課老師希望我們參加一個競賽 那個競賽主辦單位是說使用g++4.5.2這個版本 在他們給的spec上有提及給的整數會是32 bit signed int 但是因為有要算到面積所以可能需要把兩個32bit的int相乘 我有點擔心會發生overflow的問題 因此想問一下兩個32bit的singed int相乘 我需不需要用一個long int去接這個值呢 還是實際上只要用int就好 (因為查到有一個網站說long int跟int的bit數是一樣的@@) 就請大家幫我解惑一下 不好意思 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.113.65.154

05/28 21:58, , 1F
你應該是被verilog影響了吧XD? c/c++這樣接應該沒有用
05/28 21:58, 1F

05/28 21:59, , 2F
long long?
05/28 21:59, 2F

05/28 21:59, , 3F
喔喔 所以基本上a跟b都是32bit int的話
05/28 21:59, 3F

05/28 21:59, , 4F
c=a*b c一樣用int這型態就好@@?
05/28 21:59, 4F

05/28 22:02, , 5F
其實你編譯看看就知道啦XD 最近上dlab還真需要這樣搞XD
05/28 22:02, 5F

05/28 22:02, , 6F
因為可以用的編譯器跟主辦單位的版本不太一樣
05/28 22:02, 6F

05/28 22:03, , 7F
加上又不會自己改g++版本 所以想問看看
05/28 22:03, 7F

05/28 22:37, , 8F
用 stdint.h 比較快
05/28 22:37, 8F

05/29 00:03, , 9F
大家都以為愈多 long 愈大, 根本不是. 參考<stdint.h>
05/29 00:03, 9F

05/29 00:05, , 10F
除了剛講的跟char, 其他對型別大小的假設先當成錯的
05/29 00:05, 10F
文章代碼(AID): #1HfBPaN4 (C_and_CPP)
文章代碼(AID): #1HfBPaN4 (C_and_CPP)