一、進制?
1.顯示八進制和十六進制
(1)%d 用于顯示十進制數;
(2)%o 用于顯示八進制數;
(3)%x 用于顯示十六進制數,
(4)%u 用于顯示unsigned型別?整數,
另外如果要是顯示各進制的前綴0、0x和0X,就必須使用%#o、%#x和%#X
/* base.c --以十進制、八進制、十六進制列印十進制數字100*/ #include<stdio.h> int main(void){ int x = 100; printf("dec = %d;octal = %o;hex = %x\n",x,x,x); printf("dec = %d;octal = %#o;hex = %#x\n",x,x,x); return 0; }
2.C語言還提供了三種附屬關鍵字的修飾基本整數型別:short\long\unsigned
(1)short int型別(或者簡寫為short)占用的存盤空間少(可以類比Java的short)
(2)long int型別(或者簡寫為long),類比Java的long
(3)long long int (或者簡寫為long long),這個比long還大
(4)unsigned int(或者簡寫為unsigned),這個只用于非負值的情況,
這種型別與有符號型別表示的范圍不一樣,例如:16位unsigned int允許的取值范圍是0~65535,而不是-32768~32767,用于表示正負號的位現在表示另一個二進制位現在用于表示另一個二進制位,所以無符號整型能夠表示更大的數,
(5)C90標準中,添加了unsigned long int或unsignedlong和unsigned short int 或unsiged short型別,C99標準又添加了unsigned long long int和unsigned long long,
(6)任何有符號型別前面添加關鍵字signed,可強調使用有符號型別的意圖,例如:short\short int\signed short\signed short int都表示同一種型別,
3.現在個人計算機上最常見的設定就是,long long占64位,long占32,short占16位,int占16/32位(依計算機的自然字長而定)
4.long常量和long long常量
(1)一個數字變大,編譯器會視為不同的型別
int - long int - unsigned long - long long int - unsigned long long
(2)八進制和十六進制也符合上面的規律;
(3)long型別,可以在數字后面加一個字面L(或者小寫l,但是不推薦,因為容易和1弄混),long long型別,可以在數字后面加一個LL,unsigned型別可以在數字后面加一個U,或者LU,或者LLU
(4)八進制和十六進制也同樣適用上面的規則,
5.整數溢位
#include<stdio.h> int main(void) { int i = 2147483647; unsigned int j = 4294967295; ? printf("%d %d %d\n", i, i + 1, i + 2); printf("%u %u %u\n", j, j + 1, j + 2); ? getchar(); return 0; }
三、原始碼:
D7_3_3bases.c
https://github.com/ruigege66/CPrimerPlus/blob/master/D7_3_3bases.c
D7_toobig.c
https://github.com/ruigege66/CPrimerPlus/blob/master/D7_toobig.c
2.CSDN:https://blog.csdn.net/weixin_44630050
3.博客園:https://www.cnblogs.com/ruigege0000/
4.歡迎關注微信公眾號:傅里葉變換,個人賬號,僅用于技術交流,后臺回復“禮包”獲取Java大資料學習視頻禮包

轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/13803.html
標籤:C
上一篇:C 實戰練習題目48
下一篇:curl使用小記(一)
