matlab的bit操作函数

2016-03-03 20:07 阅读 682 次 评论 0 条

在c语言或verilog中对bit操作的语句比较多,也比较灵活,而在使用matlab仿真时,往往需要模拟c语言或verilog中的bit操作。开始以为matlab中就没有直接进行bit操作的办法,准备自己写函数进行转换。在百度之后,发现matlab是有一套bit操作函数的。通过help可以查到matlab的bitget函数。

See also bitset, bitand, bitor, bitxor, bitcmp, bitshift, intmax.

某个程度上来讲matlab的bit操作函数比较方便,对常用的bit操作做了封装,但是执行效率较C语言中的语句直接执行要低一些。

需要注意以下C = bitshift(A,K),K为正值表示左移,将0从右边最低位移入;K为负值表示右移,对于A为负数高位移入1,对于A为正数最高位移入0;这与C语言中的移位操作基本一致。

在matlab进行移位操作前,必须保证操作数为整形(int8、uint8、int32等等),不然会提示错误,或者得不到正确的结果。

这样对于FPGA中经常出现的截位与拼接操作可以比较方便的模拟了。

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:matlab的bit操作函数 | 起点博客
分类:应用笔记 标签:, , ,

发表评论


表情