整型常量(基于百度及各处资料加上我的个人经验整理而成)
整型常量
一、整型常量就是整型常數(shù),包括正整數(shù)、負(fù)整數(shù)和0。另外,整型常量包括短整型(2字節(jié))、基本整型(4字節(jié))、長整型(4字節(jié))(基本整型歸為長整型中,理論上二者區(qū)別不大,只是在比較上,只規(guī)定基本整型不比長整型長)、長長整型(8字節(jié))(長長整型基于c11標(biāo)準(zhǔn),此處不予詳細(xì)介紹)和無符號型(與前面幾個類型搭配)等不同類型。
在C語言中,整型常量有三種書寫形式:
(1)?十進(jìn)制整數(shù)。
??無前綴。例如:12、13、14
(2)?八進(jìn)制整數(shù)。
八進(jìn)制整數(shù)有前綴0,無論哪個八進(jìn)制整數(shù)都以0開頭以標(biāo)識其為八進(jìn)制數(shù)。例如:00、0111、015、021等,它們分別表示十進(jìn)制整數(shù):0、73、13、17
(3)?十六進(jìn)制整數(shù)。
十六進(jìn)制整數(shù)有前綴0x或0X,無論哪個十六進(jìn)制整數(shù)都以0x或0X開頭以標(biāo)識其為十六進(jìn)制數(shù)。例如:0x0、0x111、0x15、0x21等,它們分別表示十進(jìn)制整數(shù)0、273、21、33。
?? *****注意:
1、整型常量其實(shí)前面沒有‘+’或者‘-’,“-10”其實(shí)是一元運(yùn)算符‘-’和操作數(shù)10。針對這個,我上網(wǎng)查了一下,發(fā)現(xiàn)其實(shí)在十進(jìn)制中出現(xiàn)負(fù)整數(shù)是合法的,但八、十六進(jìn)制一般是無符號數(shù),即前面沒有符號‘+’、‘-’,但在八、十六進(jìn)制中可以表示負(fù)數(shù),即正數(shù)的補(bǔ)碼,這個就留待大家自己去發(fā)現(xiàn)吧。
2、整型常量的十進(jìn)制表示并沒有0,單獨(dú)寫一個0其實(shí)是一個八進(jìn)制常量,即十進(jìn)制數(shù)中0本身除外(這是烏龜?shù)钠ㄆā?guī)定)。
二、整型常量內(nèi)存大小和數(shù)值范圍取決于編譯器。
??? C語言還提供了一種“長整型常量”。它們的數(shù)值范圍最小是十進(jìn)制的?-2147483648?~?+2147483647,在計(jì)算機(jī)中最少占用4個字節(jié)。它的書寫方法也分為十進(jìn)制、八進(jìn)制和十六進(jìn)制整數(shù)三種,唯一不同的是在整數(shù)的末尾要加上小寫字母“l(fā)”或者大寫字母“L”。例如:10L、0111L、0x15L都是長整型常量(分別使用十進(jìn)制、八進(jìn)制和十六進(jìn)制表示,既便數(shù)值上達(dá)不到,系統(tǒng)仍為其分配至少4字節(jié)空間)。
?? 相對于“長整型常量”,我們把一般整型常量稱為“短整型常量”。
?? 如果整型常量后面沒有字母“l(fā)"或”L“,而且超過短整型常量能夠表示的數(shù)值范圍,則自動認(rèn)為該常量是長整型常量。例如-32769、32768、40000等均為長整型常量。
?? 由于整型常量分粗為短整型和長整型兩種,又有十進(jìn)制、八進(jìn)制和十六進(jìn)制的三種書寫形式,所以使用整型常量時,要注意區(qū)分。例如:10和10L是不同的整型常量,雖然它們有相同的數(shù)值,但它們在內(nèi)存中占用不同數(shù)量的字節(jié);又如:10、010、0x10雖然都是短整型常量,但它們表示不同的整數(shù)值。
總結(jié)
以上是生活随笔為你收集整理的整型常量(基于百度及各处资料加上我的个人经验整理而成)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: TX2--Building OpenCV
- 下一篇: android 汉字字母排序,andro