C 編譯器如何對資料進行型別轉換

2021-10-02 13:25:05 字數 545 閱讀 7191

本人是c#行業的小白剛入行倆月多點,剛剛查資料學習了一些型別轉換原理,也就是編譯器編譯時如何對資料進行型別轉換。不知道對不對就沒做筆記但是還想記錄一下就發個帖子吧,歡迎各位大佬指教指教,有錯誤技術提出,小老弟不勝感激!

進入正題。

型別轉換大體上應該分隱是轉換、顯示轉換、方法轉換、自定義轉等換這幾類。編譯器進行的就是隱式轉換和顯示轉換。

隱式轉換:編譯器會先判斷資料範圍,當目標資料範圍大於源資料範圍時,編譯器不做任何動作自動轉換。否則資料安全無法保證編譯器會報錯。這裡可能也有人用有is和as操作符。is操作符,編譯器檢查是否與型別相容,相容返回true,不相容返回false。as關鍵字編譯器也檢查是否相容,如果不相容返回null。

顯示轉化:編譯器就知道操作會造成資料不安全。當源資料型別大於目標型別,就會擷取源值,把擷取後的值作為目標值。當源型別小於目標型別,編譯器會自動填充字元,使其與目標資料相同,然後作為目標資料。如果源型別與目標型別大小相同,就直接作為目標型別的值,如果源型別與目標型別不相容編譯器無法轉換就會報錯。

方法轉換與自定義轉換就是呼叫一些api方法。網上大神總結不少我就不班門

編譯器如何處理型別轉換

在兩種型別之間做轉換,轉換結果將取決於兩種型別的精度 1.精度是n的有符號整數型別應該用n個bit表示,取值範圍至少應該覆蓋 2n 1,2n 1 例如signed char型用8個bit表示,表示的取值範圍是 128,127 也可以說是覆蓋了 128,128 所以這種型別的精度是8。2.精度是n的無...

ARX對資料的型別和單位進行轉換

arx對資料的型別和單位進行轉換 量鋼單位轉換函式 autocad軟體包的檔案acad.unt中,定義了一些常用的量鋼單位轉換關係,例如英里與公里,華氏與攝氏等等。函式acutcvunit 用來將一種單位的數值轉換成另一種單位的數值。單位用字串的形式表示,使用的字串必須與檔案acad.unt中定義的...

如何使用常用的6種方式對資料進行轉換(一)

如何使用常用的6種方式對資料進行轉換 一 實驗目標 1 使用t sql語句對資料進行轉換。2 使用備份和還原對資料進行轉換。3 使用分離和附加對資料進行轉換。4 使用複製對資料進行轉換。重點講解 5 使用ssis匯入和匯出嚮導對資料進行轉換。6 使用ssis包設計器對資料進行轉換 重點講解,推薦使用...