C 學習之路(33) 型別的提公升和轉換

2021-08-16 03:03:08 字數 1429 閱讀 6715

一、型別的提公升

把char、unsigned char、short、unsigned short轉換成int型別稱為型別提公升(promotion)。

1. 如果short的位元組長度小於int的位元組長度

char轉換成 int

unsigned char轉換成 int

short轉換成 int

unsigned short轉換成 int

2. 如果short的位元組長度等於int的位元組長度

char轉換成 int

unsigned char轉換成 int

short轉換成 int

unsigned short轉換成 unsigned int

二、型別的轉換

long double、double、float、unsigned long long、long long、unsigned long、long、unsigned int、int之間的轉換稱為型別轉換

1. 如果int的位元組長度小於long的位元組長度

型別等級由高到低依次為:long double、double、float、 unsigned long long、long long、unsigned long、long、unsigned int、int

2. 如果int的位元組長度等於long的位元組長度

型別等級由高到低依次為:long double、double、float、unsigned long long、long long、unsigned long、unsigned int、long、int

3. 在任何涉及兩種資料型別的操作中,它們之間等級較低的型別會被轉換成等級較高的型別。

using

namespace

std;  

void

main()  

C 學習(一)型別轉換

1.型別轉換按方式分為隱式轉換和顯式轉換。隱式轉換 由編譯器自動完成,無需使用者干預。顯式轉換 採用一定的形式進行轉換 型別名 資料 c中 型別名 資料 2.關於轉換建構函式 建構函式的一種,主要用於型別轉換,格式嚴格規定為單引數建構函式。例 complex類 complex double r in...

C 學習筆記 07 型別轉換

型別轉換 賦值轉換 賦值轉換指的是將一種型別的值賦給另一種型別的變數,這時,值將會轉換為接收變數的型別,如語句 a b 如果a是long型,b是short型,則程式會將16位 short佔兩位元組 的b提公升為32位 long佔4位元組 並賦給a,直觀上講,型別的表達能力取決於該型別所佔的記憶體位數...

C 學習筆記13 型別轉換

const cast 運算子用於修改型別的 const volatile 屬性。除了 const 或 volatile 屬性之外,目標型別必須與源型別相同。這種型別的轉換主要是用來操作所傳物件的 const 屬性,可以加上 const 屬性,也可以去掉 const 屬性。class a void f...