精華區beta Programming 關於我們 聯絡資訊
※ 引述《enjoydance.bbs@bbs.ntnu.edu.tw (苦力國標魔羯男)》之銘言: > ※ 引述《journeyman@kkcity.com.tw (#班布,我命令你,馬上停止)》之銘言: > > 因為CPU的通用暫存器就是這麼寬 > > 如果你的compiler有針對64-bit設計就會 > >   > 樓上的答案錯誤吧...@@... > int 32 bits 並不是因為CPU的通用暫存器的緣故.. > 而是程式的定義就是設定成一個整數的數值範圍可以有2的32位元.. > 改成64位元的CPU並不會改變int的定義長度...@@ 他其實也沒說錯, 通常 C compiler 決定 int 的大小, 會選擇 CPU 多數指令裡一次就能處理掉的 data size, 通常跟 CPU 的 register 寬度有關, 但是不是絕對。 如果真的要「絕對正確」的答案, 那只能說是看寫 C compiler 的人爽而已, 也因為這樣 C 才會有 sizeof 這種 operator, 避免 programmer 直接用寫死的數字做判斷, 奇怪的是很多人還是熱愛那些 magic number。 -- Name: Tseng, Ling-hua E-mail Address: uranus@it.muds.net School: National Tsing Hua University Department: Computer Science Interesting: C++, Compiler, PL/PD, OS, VM, Large-scale software design Researching: Undecided Homepage: https://it.muds.net/~uranus -- ╔═══╗ ┼────────────────────────╮ 狂狷 Origin:[ 狂 狷 年 少 ] whshs.cs.nccu.edu.tw ╰─╮ 年少 ┼╮ < IP:140.119.164.16 > ╰─╮ ╚╦═╦╝ From:61-230-223-145.dynamic.hinet.net ─╨─╨─ KGBBS 遨翔"BBS"的狂狷不馴;屬於年少的輕狂色彩