C 進制 類型說明符 位運算 char類型

進制spa

1. 什麼是進制code

是一種計數的方式 數值的表示形式內存

2. 二進制編譯

1> 特色: 只有01 21class

2> 書寫格式: 0b或者0B開頭二進制

3> %d 以帶符號的十進制形式輸出整數的格式符, %u 以不帶符號的十進制形式輸出整數的格式符數據

3. 八進制co

1> 特色: 0~7 逢八進一字符

2> 書寫格式: 0開頭位運算

3> %o 以不帶符號的八進制形式輸出整數的格式符

4. 十六進制

1> 特色: 0~F 逢十六進一

2> 書寫格式: 0x或者0X開頭

3> %x 以不帶符號的十六進制形式輸出整數的格式符

 

類型說明符

1. shortlong

1> shortlong能夠提供不一樣長度的整型數 也就是能夠改變整型數的取值範圍

2> 能夠連續使用2long 也就是long long, 通常來講 long long的範圍是不小於long

3> 還有一點要明確的是: short int等價於short, long int等價於long, long long int等價於long long

2. signedunsigned

1> 首先要明確的: signed int等價於signed, unsigned int等價於unsigned

2> signedunsigned的區別就是它們的最高位是否要當作符號位 並不會像shortlong那樣改變數據的長度 即所佔的字節數

signed: 表示有符號 也就是說最高位要當作符號位 因此包括正數, 負數和0 其實int的最高位原本就是符號位 已經包括了正負數和0 所以signedint是同樣的 signed等價於signed int, 也等價於int

unsigned: 表示無符號 也就是說最高位並不當作符號位 因此不包括負數

 

位運算

1. 按位與 &

1> 功能: 只有對應的兩個二進位均爲1 結果位才爲1 不然爲0

2> 舉例: 好比9&5 其實就是1001&101=1 所以9&5=1

3> 規律: 二進制中 1&就保持原位 0&就爲0

2. 按位或 |

1> 功能: 只要對應的二個二進位有一個爲1 結果位就爲1 不然爲0

2> 舉例: 好比9|5 其實就是1001|101=1101 所以9|5=13

3. 按位異或 ^

1> 功能: 當對應的二進位相異(不相同) 結果爲1 不然爲0

2> 舉例: 好比9^5 其實就是1001^101=1100 所以9^5=12

3> 規律: 相同整數相^的結果是0 好比5^5=0 多個整數相^的結果跟順序無關 好比5^6^7=5^7^6 所以得出結論: a^b^a = b

4. 按位取反 ~

對整數a的各二進位進行取反 符號位也取反(01 10)

5. 左移 <<

把整數a的各二進位所有左移n 高位丟棄 低位補0 左移n位其實就是乘以2n次方

因爲左移是丟棄最高位 0補最低位 因此符號位也會被丟棄 左移出來的結果值可能會改變正負性

6. 右移 >>

把整數a的各二進位所有右移n 保持符號位不變 右移n位其實就是除以2n次方

爲正數時 符號位爲0 最高位補0

爲負數時 符號位爲1 最高位是補0或是補1 取決於編譯系統的規定

 

char類型

1. 存儲細節

字符在內存中存儲的東西就是該字符所對應的ASCII碼值

ASCII單字節表(雙字節GBK\GB2312\GB18030\Unicode)

2. 注意: 單引號'' 只能擴住單字節的字符

3. 當作整型使用

-128~127範圍內 能夠當作整數來用

相關文章
相關標籤/搜索