完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一开始在程序中遇到a=&b;以为是a和b按位与再把值赋予a,结果问了一些大神,解释的也不是很清楚,其实这是缩减运算符。结果只有一位。
下面的例子是 缩位运算符过程就是最低位和次低位进行异或运算,得到的结果在和最高位运算; module traffic(a,out); input [2:0]a; output out; assign out=^a; endmodule //testbench文件 `timescale 1ns/1ns module traffic_tb; reg [2:0]a; wire out; traffic traffic0( .a(a), .out(out)); initial begin a=3'b000; #20; a=3'b001; #20 a=3'b010; #20; a=3'b011; #20 a=3'b100; #20; a=3'b101; #20 a=3'b110; #20; a=3'b111; #20 $stop; end endmodule ![]()
|
|
相关推荐
|
|
理论上说:你写反了。
运算符缩减后等号在右边,应该是: a &= b; a |= b; a ^= b; 拓展后是: a = a&b; a = a|b; a = a^b; 此外还有: +=,-=,*=,/=,<<=,>>= (展开方式如上) 在这些运算有一个特点:在等号两边都有变量a,而实际编程中有很多变量长得很像。比如: iNumberOfDataRead;//读取到的字节数 iNumberOfDataToWrite;//要写入的字节数 这两个变量不但像,还很长,代码敲起来 也比较费劲,看起来也挺费劲,还要比较两边的变量是否完全相同,所以就有了这种简便方式。 |
|
|
|
|
|
抱歉,之前那个是C语言的,后面的部分我没看到,所以仅供参考吧。
|
|
|
|
|
|
小弟公司16年计划开发一款小型手持测试仪器,需带操作系统,寻求驾轻就熟的朋友合作,最好北京!
扣扣 33828186 备注 FPGA 版主勿删,感谢! |
|
|
|
|
|
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-7-1 16:03 , Processed in 0.560056 second(s), Total 40, Slave 32 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191