型別轉換規則(均以補碼形式運算):
當賦值運算子兩側的資料型別不同時,需進行型別轉,系統會自動進行轉換。
1、float、double型賦給int型:直接截斷小數。
2、int、char型賦給float、double型:補足有效位。
3、char型賦給int型:數值賦給int型的低8位,其他位補0。
4、long long型賦給int型:截斷低位給int型。
5、int型賦給long long型:賦給long long型的低32位,如果int型最高位是0,則long long型的高32位全為0,否則全為1。
(補碼運算)
6、unsigned int型賦給int型:直接傳送數值。
7、非unsigned int型賦值給位數相同的unsigned int型:直接傳送數值。
型別轉換規則個人理解:
1、低->高 補足
2、高->低 擷取
3、float->整形 去掉小數字
4、具體整數 視作 int
5、(long long)int+int 第1個int強制轉換成long long,第2個仍是int,然後兩者加起來。如果後面的int運算時超過int,則需要擷取。
仔細研究下面的兩段**,仔細體會型別轉換規則:
**一:
#include#include#includeusing namespace std;
char a;
int b;
long long c;
float d;
double e;
unsigned int g;
int main()
**二:
#include#include#includeusing namespace std;
int main()
相關知識點
nweb inf uclasses uweb.xml ulib n 從httpservlet 繼承,重寫doget dopost方法 n部署web.xml n 只有乙個物件 n 第一次請求的時候被初始化,只一遍 n 初始化後先呼叫init 方法,只一遍 n 每個請求,呼叫一遍service serv...
列舉型別相關知識點(騰訊面試)
官林輝c語言或c 的一種構造型別,它用於宣告一組命名的常數。1 列舉的宣告 列舉宣告用於宣告新的列舉型別。訪問修辭符 enum 列舉名 基礎型別 基礎型別必須能夠表示該列舉中定義的所有列舉數值。列舉宣告可以 顯式地宣告 byte sbyte short ushort int uint long 或 ...
C 資料型別轉換知識點
include using namespace std class father 基本型別 類型別 include using namespace std class myclass 基本型別 類型別 void operator int num 類型別 基本型別 operator int void ...