c語言小白基礎(chǔ)學(xué)習(xí)-數(shù)據(jù)類型轉(zhuǎn)換

c語言小白基礎(chǔ)學(xué)習(xí)--數(shù)據(jù)類型轉(zhuǎn)換阳柔!在給大家分享這個文章之前蛮浑,小編推薦大家加一下這個裙:六六六二九五四九八 邀請編碼【凌云】大家遇到啥問題都會在里面交流刮刑!而且文件里有各種資源味赃,是個非常好的學(xué)習(xí)交流地方!也有程序員大神給大家熱心解答各種問題乾胶!很快滿員了善已。欲進從速哦鹏氧!等大家加入C/C++學(xué)習(xí)基地哦

在執(zhí)行算術(shù)運算時飒筑,計算機比C語言的限制更多。為了讓計算機執(zhí)行算術(shù)運算绽昏,通常要求操作數(shù)有相同的大行拧(即位的數(shù)

量相同),并且要求存儲的方式也相同全谤。計算機可能可以直接將兩個16位整數(shù)相加肤晓,但是不能直接將16位整數(shù)和32位整數(shù)相

加,也不能直接將32位整數(shù)和32位浮點數(shù)相加认然。另一方面补憾,C語言允許在表達式中混合使用基本數(shù)據(jù)類型。在單獨一個表達式

中可以組合整數(shù)卷员、浮點數(shù)盈匾,甚至是字符。當然毕骡,在這種情況下C語言編譯器可能需要生成一些指令將某些操作數(shù)轉(zhuǎn)換成不同類

型削饵,使得硬件可以對表達式進行計算。例如未巫,如果對16位int型數(shù)和32位long? int型數(shù)進行加法操作窿撬,那么編譯器將安排把16位

int型值轉(zhuǎn)換成32位值。如果是int型數(shù)據(jù)和float型數(shù)據(jù)進行加法操作叙凡,那么編譯器將安排把int型值轉(zhuǎn)換成為float格式劈伴。這個轉(zhuǎn)

換過程稍微復(fù)雜一些,因為int型值和float型值的存儲方式不同握爷。因為編譯器可以自動處理這些轉(zhuǎn)換而無需程序員介入跛璧,所以這

類轉(zhuǎn)換稱為隱式轉(zhuǎn)換(implicit conversion)严里。C語言還允許程序員通過使用強制運算符執(zhí)行顯式轉(zhuǎn)換(explicit conversio

n)。首先討論隱式轉(zhuǎn)換赡模,田炭,執(zhí)行隱式轉(zhuǎn)換的規(guī)則有些復(fù)雜,主要是因為C語言有大量不同的基本數(shù)據(jù)類型(6種整型和3種浮點

型漓柑,這還不包括字符型)教硫。

當發(fā)生下列情況時會進行隱式轉(zhuǎn)換:

.當算術(shù)表達式或邏輯表達式中操作數(shù)的類型不相同時。(C語言執(zhí)行所謂的常用算術(shù)轉(zhuǎn)換辆布。)

.當賦值運算符右側(cè)表達式的類型和左側(cè)變量的類型不匹配時瞬矩。

.當函數(shù)調(diào)用中使用的參數(shù)類型與其對應(yīng)的參數(shù)的類型不匹配時。

.當return語句中表達式的類型和函數(shù)返回值的類型不匹配時锋玲。

隱式類型轉(zhuǎn)換規(guī)則:

C語言自動轉(zhuǎn)換不同類型的行為稱之為隱式類型轉(zhuǎn)換 景用,轉(zhuǎn)換的基本原則是:低精度類型向高精度類型轉(zhuǎn)換,具體是:

int -> unsigned int -> long -> unsigned long -> long long -> unsigned long long -> float -> double -> long double

注意惭蹂,上面的順序并不一定適用于你的機器伞插,比如當int和long具有相同字長時,unsigned int的精度就會比long的精度高

(事實上大多數(shù)針對32機的編譯器都是如此)盾碗。另外需要注意的一點是并沒有將char和short型寫入上式媚污,原因是他們可以被提升

到int也可能被提升到unsigned int。

提升數(shù)據(jù)的精度通常是一個平滑無損害的過程廷雅,但是降低數(shù)據(jù)的精度可能導(dǎo)致真正的問題耗美。原因很簡單:一個較低精度的

類型可能不夠大,不能存放一個具有更高精度的完整的數(shù)據(jù)航缀。一個1字節(jié)的char變量可以存放整數(shù)101但不能存放整數(shù)12345商架。

當把浮點類型數(shù)據(jù)轉(zhuǎn)換為整數(shù)類型時,他們被趨零截尾或舍入芥玉。

當把有符號操作數(shù)和無符號操作數(shù)整合時蛇摸,會通過把符號位看成數(shù)的位的方法把有符號操作數(shù)"轉(zhuǎn)換"成無符號的值.這條

規(guī)則可能會導(dǎo)致某些隱蔽的編程錯誤。

假設(shè)int型的變量i的值為-10灿巧,而且unsigned int型的變量u的值為10皇型。如果用<運算符比較變量i和變u,那么期望的結(jié)果

應(yīng)該是1(真)砸烦。但是弃鸦,在比較前,變量i轉(zhuǎn)換成為unsigned? int類型幢痘。因為負數(shù)不能被表示成無符號整數(shù)唬格,所以轉(zhuǎn)換后的數(shù)值

將不再為-10,而是一個大的正數(shù)(將變量i中的位看作是無符號數(shù)).因此i

由于此類陷阱的存在,所以最好盡最避免使用無符號整數(shù)购岗,特別是不要把它和有符號整數(shù)混合使用汰聋。

強制類型轉(zhuǎn)換:

通常我們應(yīng)該避免自動類型轉(zhuǎn)換,當我們需要手動指定一個準確的數(shù)據(jù)類型時喊积,我們可以用強制類型轉(zhuǎn)換機制來達到我們的目

的烹困,使用方法很簡單,在需要強制轉(zhuǎn)換類型的變量或常量前面加上(type)乾吻,例如(double)i; 即把變量 i 強制轉(zhuǎn)換成double型髓梅。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市绎签,隨后出現(xiàn)的幾起案子枯饿,更是在濱河造成了極大的恐慌,老刑警劉巖诡必,帶你破解...
    沈念sama閱讀 218,941評論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件奢方,死亡現(xiàn)場離奇詭異,居然都是意外死亡爸舒,警方通過查閱死者的電腦和手機蟋字,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,397評論 3 395
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來扭勉,“玉大人愉老,你說我怎么就攤上這事∑市В” “怎么了?”我有些...
    開封第一講書人閱讀 165,345評論 0 356
  • 文/不壞的土叔 我叫張陵焰盗,是天一觀的道長璧尸。 經(jīng)常有香客問我,道長熬拒,這世上最難降的妖魔是什么爷光? 我笑而不...
    開封第一講書人閱讀 58,851評論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮澎粟,結(jié)果婚禮上蛀序,老公的妹妹穿的比我還像新娘。我一直安慰自己活烙,他們只是感情好徐裸,可當我...
    茶點故事閱讀 67,868評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著啸盏,像睡著了一般重贺。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,688評論 1 305
  • 那天气笙,我揣著相機與錄音次企,去河邊找鬼。 笑死潜圃,一個胖子當著我的面吹牛缸棵,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谭期,決...
    沈念sama閱讀 40,414評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼堵第,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了崇堵?” 一聲冷哼從身側(cè)響起型诚,我...
    開封第一講書人閱讀 39,319評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎鸳劳,沒想到半個月后狰贯,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,775評論 1 315
  • 正文 獨居荒郊野嶺守林人離奇死亡赏廓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,945評論 3 336
  • 正文 我和宋清朗相戀三年涵紊,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片幔摸。...
    茶點故事閱讀 40,096評論 1 350
  • 序言:一個原本活蹦亂跳的男人離奇死亡摸柄,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出既忆,到底是詐尸還是另有隱情驱负,我是刑警寧澤,帶...
    沈念sama閱讀 35,789評論 5 346
  • 正文 年R本政府宣布患雇,位于F島的核電站跃脊,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏苛吱。R本人自食惡果不足惜酪术,卻給世界環(huán)境...
    茶點故事閱讀 41,437評論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望翠储。 院中可真熱鬧绘雁,春花似錦、人聲如沸援所。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,993評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽住拭。三九已至继阻,卻和暖如春耻涛,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背瘟檩。 一陣腳步聲響...
    開封第一講書人閱讀 33,107評論 1 271
  • 我被黑心中介騙來泰國打工抹缕, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人墨辛。 一個月前我還...
    沈念sama閱讀 48,308評論 3 372
  • 正文 我出身青樓卓研,卻偏偏與公主長得像,于是被迫代替她去往敵國和親睹簇。 傳聞我的和親對象是個殘疾皇子奏赘,可洞房花燭夜當晚...
    茶點故事閱讀 45,037評論 2 355

推薦閱讀更多精彩內(nèi)容