请问:temp[0]=((temp[0]<<1)>>1);这样不对吗?
95516
关于无源中继系统有效性问题的讨论
一台BJ-2线性电源
打星好幫手
自制的兼容GS-232B协议的旋转器控制盒
端馈四波段的20米为什么谐振在13.5MHz
我理解楼主的问题,不是问怎样才能达到相应目的,而是问为什么语法正确第一句会不能正常工作。这句如果想要正常工作,需要有个前提,就是参与运算的寄存器需要是8位的。然尔目前我们常用的8位mcu参与运算的寄存器(有的mcu可能这个寄存器就是累加器),大多是16位的,这就是第一个c语句不能按设想工作的原因的一方面。另一方面,这种问题也和编译器的设计有关系。
只要temp是unsigned char []就行了。和mcu寄存器宽度无关。
谢谢楼上的各位,我的temp[0]是以unsigned char 定义的,想知道是不是那样写需要在编译时添加什么指令或者设置什么选项.感谢关注.