資料型別的基本知識點
資料型別的分類
型別轉換
1. 隱式型別轉換
隱式型別轉換分為算術轉換,賦值轉換,輸出轉換
(1)算術轉換:進行算術運算(加、減、乘、除、取餘以及符號運算)時,不同型別數必須轉換成同
一型別的資料才能運算,算術轉換原則為:
在進行運算時,以
表示式中最長型別為主
,將其他型別位據均轉換成該型別,如:若運算數中有
double
型或float
型,則其他型別資料均轉換成
double
型別進行運算。
特別注意的是有符號和無符號之間的轉換:
包含long
與unsigned int,32
位機器上都是
4位元組,所以均轉換為
unsigned long. 包含
signed
與unsigned int
,signed
會轉換為
unsigned
。如果int恰好為負數,其結果為對
unsigned
取值個數求模的結果。比如將
-1賦給8位的
unsigned char
,呢麼結果就是
255(-1對
256取模後的值)。
unsigned char
取值範圍
0~255。
注意:在進行自動型別轉換的時候,如果原來的數是無符號數,那麼在擴充套件的時候,高位填充的是
0;如果是有符號數,那麼高位填充的時符號位!
(2)賦值轉換
進行賦值操作時,賦值運算子右邊的資料型別必須轉換成賦值號左邊的型別,若右邊的資料型別的長度大於左邊,則要進行截斷或捨入操作。
(3)輸出轉換
在程式中將資料用
printf
函式以指定格式輸出時,當要輸出的資料型別與輸出格式不符時,便自動進行型別轉換,如乙個
long
型資料用整型格式
(%d)
輸出時,則相當於將
long
型轉換成整型
(int)
資料輸出;乙個字元
(char
)型資料用整型格式輸出時,相當於將
char
型轉換成
int型輸出。
注意:較長型資料轉換成短型資料輸出時,其值不能超出短型資料允許的值範圍,否則
轉換時將出錯。
2. 強制型別轉換
當資料型別不相容時,為避免發生錯誤,需要進行強制型別轉換
int num = 5;
int *p = &num
char *ptr = (char *)p;
資料型別分類及範圍
基本資料型別 今天重點 整數型 byte short int long 浮點型 float double 字元型 char 布林型 boolean 引用資料型別 今後學習 字串 陣列 類 介面 lambda 資料型別大小 system.out.println 基本型別 byte 二進位制位數 byt...
c 學習筆記(三) 資料型別轉換
int i 927 long j i 將int隱式轉換為longint short int uint float int double int 數值類 char decimal all 型別說明符 表示式 float x 把x轉換為float型別long number1 3000000000 int...
資料型別分類
資料型別 兩大類 資料型別的判斷 typeof 資料 或者 typeof 資料 typeof null 時返回的時object console.log typeof 數字 返回數字 number console.log typeof 字串 返回字串 string console.log typeof...