看板 C_and_CPP 關於我們 聯絡資訊
如題 如果 sizeof(long)為4的話 那在這系統上 可表示的值跟int一樣多 long不就沒意義了嗎? 我試vs跟gcc long的長度都是4 搞不懂long拿來幹馬的 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 122.99.0.10
LPH66:那是現在的sizeof(int)=4 04/11 07:59
LPH66:在以前的時代(16-bit那時) sizeof(int)=2 04/11 07:59
LPH66:所以當時的 compiler 就多半是這種設定 例如古董 Turbo C 04/11 08:00
LPH66:以後進入64-bit時代時說不定 sizeof(int) 就會變成 8... 04/11 08:00
bleed1979:原po可以考慮用long long... %lld 04/11 09:58
legnaleurc:64bit的CPU上 long 的長度是8 04/11 12:27
tinlans:long 在習慣上會跟 pointer 的 size 一樣長。 04/11 13:39
tinlans:有些實作需要把 pointer 做 hash 會用 unsigned long cast 04/11 13:39
cobrasgo:因為你同一個程式拿到不同平台可能就不一樣啦 04/12 12:22