型別轉換

Iam柒年發表於2020-12-12

顯式型別轉換分為靜態轉換,和動態轉換。
靜態轉換:在轉換的表示式前加上單引號,不對轉換值做檢查,屬於強制轉換,轉換失敗也不得而知。

int a;
string b="haha";
a=int'(b);                            //將b靜態轉換成a
$display("a(1) is %0d",a);

動態轉換:使用系統函式,$cast(tgt,src)做轉換,將src轉換成tgt。在轉換時系統會做檢查。

int a;
string b="haha";
$cast(a, b);                    //將b動態轉換成a
$display("a(2) is %0d",a);

結果:兩次轉換都成功
在這裡插入圖片描述
隱式型別轉換:不需要做的轉換操作,比如,4bit的值賦值給5bit值,系統會自動做位擴充套件,併發出警告,位寬不匹配。

相關文章