日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

小白适用的C语言数据类型转换及转换规则

發布時間:2023/12/2 编程问答 25 豆豆
生活随笔 收集整理的這篇文章主要介紹了 小白适用的C语言数据类型转换及转换规则 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

點擊上方藍字關注我,了解更多咨詢

1.不同類型數據間的混合運算與類型轉換:

①若參與運算量的類型不同,則先轉換成同一類型,然后進行運算

②轉換按數據長度增加的方向進行,以保證精度不降低。如int型和long型運算時,先把int量轉成long型后再進行運算

a、若兩種類型的字節數不同,轉換成字節數高的類型

b、若兩種類型的字節數相同,且一種有符號,一種無符號,則轉換成無符號類型

③所有的浮點運算都是以雙精度進行的,即使僅含float單精度量運算的表達式,也要先轉換成double型,再作運算

④char型和short型參與運算時,必須先轉換成int型

⑤在賦值運算中,賦值號兩邊量的數據類型不同時,賦值號右邊量的類型將轉換為左邊量的類型。如果右邊量的數據類型長度左邊長時,將丟失一部分數據

2.C語言轉換規則:

(1)整數和浮點型:

浮點型轉換成整型時,小數部分被省略,如果其值不能被整型表示,則其行為未定義。注意:將負的浮點型轉換成unsigned int 結果是沒有定義的。

當把整型轉換成浮點型時,如果該值是在可表示范圍內,則結果可能是下一個較高或者較低的可表示值。如果結果在范圍外,則行為未定義。

(2)浮點型:

將較低精讀浮點型轉換成較高浮點型時:值不變。

將較高精度轉換成較低精度時:在范圍內,值不變,在范圍外,結果為定義

(3)整型提升:

如果原始類型都可以用int表示,則將其轉換成int,否則被轉換成unsigned int

(4)整型轉換:

將unsigned 轉換成 signed 時,如果可以在新類型表示,則表示,如果不能表示,結果與具體實現有關,將signed 轉換成unsigned時,若unsigned位數窄,對二進制補碼進行左截取,若unsigned寬,對signed進行符號擴展。

(5)指針和整數:

指針可加上或著減去一個整數,轉換規則按照加法運算符號方式進行,兩個指向同一數組的指針可進行加減運算,方式按照算數轉換規則,值為0的整型常量或者void*型表達式可轉換成任意類型的指針,指針可以轉換成整型,注意整型必須足夠大,整型對象可以轉換成指針,一般用于將一個足夠寬的從指針轉換來的整型轉換成(恢復)指針,不同類型的指針間可以相互轉換,但必須滿足內存對齊條件,一個指針可以轉換成同意類型的另一個指針,但是可以增加或者刪除另一個指針的限制符,如果和另一個指針,增加了相同的修飾符,則和另一個指針一樣,如果刪除了修飾符,則底層對象的運算仍受到原聲明的限制。

END

*聲明:本文于網絡整理,版權歸原作者所有,如來源信息有誤或侵犯權益,請聯系我們刪除或授權事宜。

戳“閱讀原文”我們一起進步

總結

以上是生活随笔為你收集整理的小白适用的C语言数据类型转换及转换规则的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。