關於整型與浮點型之間的轉換,這里就不說了
int x=0;
float y=0.0
x+y,肯定是直接轉換成為浮點型了
在這里整理一下關於整型之間的類型轉換
首先,要明晰什么是整型
整型從基本類型來分有,整型,char型,bool型
從符號來分,又可以分為無符號類型和有符號類型
首先是:
都是有符號類型:
那就往最大的那個類型轉換
如:short x;
int y;
long long z;
x+y+z;
轉換過程是:x先轉換為int ,與y相加,得到的結果再轉換為longlong 類型
都是無符號類型:
還是往最大的那個類型轉換
如 unsigned int x;
unsigned short y;
x+y;
肯定是y轉換為unsigned int 類型
一個是有符號類型,一個是無符號類型
這個時候就看那個類型的空間更大
如果無符號類型空間>=有符號類型,那么有符號類型就向無符號類型轉換
如果無符號類型<有符號類型,那么無符號類型就向有符號類型轉換
如 unsigned int x;
int y;
x+y;
那么,y先轉換為unsigned int,這個時候,如果是負數,那么mod%2^32
unsigned short x;
int y;
x就會轉換為 int類型
