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