像int,long這些c語言的語句怎麼會有取值範圍,同時它取值範圍怎麼用,它的取值範圍到底是啥意思

2021-04-28 17:13:53 字數 464 閱讀 6046

1樓:手機使用者

int和long作為基本bai的整數型別,取值du範圍和位數直接相關。如果zhi是daon位整數的話,最高位表示符回號位,剩下的n-1位以補碼形式表示絕對值,因此範圍是整數區間[-2^(n-1),2^(n-1))。 int和long並沒有明確位數,具體和平臺相關(有一點可以確定,sizeof(int)<=sizeof(long))。

一般而言,32位機的int是32位的,於是範圍是[-2^31, 2^31)也就是[-2147483648, -2147483648)。而非int的位答數取決於機器字長外還決定於軟體平臺(作業系統、編譯器)上實現的特定的c語言資料模型(專指整數資料模型,不是資料庫裡討論的那個),只是一般32位平臺上的long都比較統一(基本上都是lp32),為32位,範圍和int一致。(如果是64位平臺,除了windows上的llp64模型中long是32位外,lp64、ilp64、silp64的long都是64位)。

c語言為什麼叫」C「語言,C語言為什麼叫做C語言而不叫A,B,D Z等語言

電腦的英文單詞是 computer啊 c語言就是指用語計算機的語言 ps 受教了.我沒到網上去查,一直就這麼理解的.就算錯也正常,我想也不離譜.總之和計算機擺脫不了關係 bs出口成髒的小人 這你應該問它的發明者。早期的程式語言 bcpl,取名為 b的語言,在此基礎上開發的語言就用bcpl的第二個字母...

C語言位運算對的疑問,C語言位運算裡這些怎麼用?

實際位操作時,都是按儲存型別的所有位進行的char 8位 short 16位 int 32位 前面的 實際操作時也是按上述的位數進行的 至少是8位 只是寫出來時全部是0,所以就省略了。因為取反後,0就變成了1,就不能省略了。所有位運算都是8個bit位來運算的,因為一個byte是最基本的單位 你說的 ...

linux下的C語言學習,Linux和C語言 應該先學習哪個?(自學)

建議你用redhat企業版或者fedora,用最新版本吧,ubuntu由於安裝好後很多工具沒有預設安裝,新手有起來比較麻煩 linux基礎知識的話找本linux基礎的書看吧,其實只是一些命令了 我也是在ubuntu10.04中學c語言 很多開發工具我都試用了 感覺使用vi和gcc就夠了 這兩個工具加...