1樓:匿名使用者
均按int的補碼形式運算,結果的資料型別取決於你所需要的型別;比如:
short int a,x=-21;
unsigned short int b=20;
b=x+b;//結果b的值是65535
a=b;//a的值是-1
2樓:匿名使用者
這個是usual arithmetic conversion,規則是二元運算的時候按順序判斷:
如果有一邊是long double,則另一邊轉換成long double;
否則如果有一邊是double,則另一邊轉換成double;
否則如果有一邊是float,則另一邊轉換成float;
否則如果兩邊都是signed或者unsigned,則等級低(short < int < long < long long)的一邊轉換成和等級高的一邊一樣的型別(比如unsigned int + unsigned long = unsigned long);
否則如果unsigned一邊型別等級高於或等於signed一邊,則signed型別一邊轉換成unsigned一邊的型別(signed int + unsigned int = unsigned int, signed int + unsigned long = unsigned long);
否則如果signed型別可以表示所有unsigned型別的資料,則unsigned一邊轉換成signed一邊的型別(signed long long + unsigned int = signed long long);
否則兩邊全都轉換成int(unsigned short + unsigned char = int)
這個並不是匹配,另外注意這個也不是型別提升。
c語言中 int unsigned 型別轉換
3樓:瀚漠
是的,int會自動轉換自成unsigned型別;
轉換規則:存
bai儲長度較短的轉換du
成存zhi儲長度較長的dao,並且不丟失資訊;
常見型別轉換順序:char 、short -> int -> unsigned -> long int -> double <- float
即運算中有double型別,則其他型別會全部轉換成double型別。
4樓:象帶牙
整型的每一bai種都有無符號(duunsigned)和有符號(signed)兩種型別zhi(float和double總是dao帶符號的),在版預設情況下宣告權的整型變數都是有符號的型別(char有點特別),如果需宣告無符號型別的話就需要在型別前加上unsigned。無符號版本和有符號版本的區別就是無符號型別能儲存2倍於有符號型別的正整數資料。
比如你要裝換可以浮點型加(bobule)道理一樣
5樓:匿名使用者
int與unsigned運算時,如果得到的結果是unsigned型(比如賦值給unsigned型變數),int則會被轉成unsigned型。如果賦值給int型則不轉換。
6樓:匿名使用者
是的,int會自動轉換成unsigned型別;
轉換規則:儲存長度較短的轉換成儲存長度較長的,並且不丟失資訊;
在 c語言中int long unsigned 和 char這四種型別資料的轉換規律是_____.
7樓:夢幻子凝
首先,在c中,資料之間的運算必須是同型別的才能進行運算。如果型別不一致,就必須先轉換成相同的型別----------由低階別 → 高
級別轉換。
本題中,資料型別級別由低到高分別為:char→int→unsigned→long。轉換時由低階別向高階別轉換。
比如,有兩個數的資料型別分別為:char型跟long型。 就要先char轉換為long型(因為long級別比char高),再進行運算。
但是不能理解為:先將char轉換成int,再轉換成unsigned,再轉換成long。
希望對您有所幫助!
c語言的unsigned int是什麼意思?
8樓:洪萍佘翎
unsigned
short為無符號短整形,在計算機中是用16位二進位制數儲存,-1在計算機中被儲存為1111111111111111因為是無符號型的,所以開頭的一為被計算機當做數值位
轉換為十進位制,即:1*2^16
+1*2^15+.....+
1*2^1
=65535,其它的結果你可以以此類推。
9樓:碧魯天真庹泉
無符號整型,注意它的數值表示範圍即可。
C語言中int的含義,c語言中int 代表什麼意思
int 定義一個整型變數。比如 int i 表示定義一個整數i 也可以賦予初始值。int i 1 int後接一個字元是定義一個整型變數,vc中佔四位元組。c語言中int 代表什麼意思 c c 程式語言中,int表示整型變數,是一種資料型別,用於定義一個整型變數,在不同編譯環境有不同的大小,不同編譯執...
c語言中int型變數加上double型的變數
程振 會將int型別轉換成double型別再與double型別的變數相加。型別不一樣的數相加,首先將型別轉換成一樣的然後相加,轉換原則,短型別向長型別看齊,長短指在記憶體中所佔空間的長短 得出的結果是double型.這個不需要強制轉換的,系統會自動轉換的. double,計算時會自動轉化之doubl...
C語言中if和switch區別,C語言中if else語句與switch語句的區別在哪裡?
風若遠去何人留 switch語句,可讀性更好,整體流程看起來清晰明確。if語句適應性更強,可以處理更多的情況。所有的switch語句都可以寫成if的形式,比如switch a 可以寫作 if a b case b else if a c case celse default.但是switch 語句,...