上篇:https://blog.csdn.net/qq_37884273/article/details/107901708
1. 静态转化
注意:直接赋值会导致位宽不匹配
例如:a=unsigned’(b),只需要在转换的表达式前加上单引号即可,该方式不对转换值做检查,只做语法检查,是否转换成功,需要自己判断。
动态转换
例如:$cast(tgt, src),动态转换在编译后,会提示转换是否成功。动态转换经常用在继承类中,如果要子类继承父类的数据类型,就需要用到动态数据转换。
例子
结果:
分析:无符号
logic四值逻辑,转换成bit二值逻辑,从右往左(左为高bit位),11x赋值给b_vec,x态值变成0值。
总结
在进行不同类型数据转换时,注意:
- 逻辑数值类型
- 符号类型
- 位宽