c语言置位操作

Python014

c语言置位操作,第1张

对不起确实没看清题,修改一下:

state |= 0x400//将第10位用bitwise or置位

state &= ~(0x8000)//将第15位用bitwise and清除,因为state的类型不详,先用~将0x8000取反

printf( "state第10位的值为%d.", (state &0x400 ?1:0) ); //用and提取第10位

另外,我这里printf输出是1,还请检查是否键入正确,如果不对,请试试将其中 state &0x400 用括号括住,即 printf( "state第10位的值为%d.", ((state &0x400)?1:0) )

或者采用移位的方法,即 printf( "state第10位的值为%d.", state>>10) )

置位和复位指令说明如下。

置位指令就是让数字电路一个GPIO输出为高电平。汇编一般是SET指令。

复位指令就是让数字电路一个GPIO输出为低电平。汇编一般是RST指令。

置位即置1,复位即置0。置位和复位指令可以将位存储区的某位开始的一个或多个(最多可达255个)同类存储器位置1或置0。大多用来控制外部电路的通和断,或者产生一些固定的波形。

说明学习编程的过程,就是一个了解工具,学习使用工具,理解工具作用原理,改装乃至发明工具的过程。它不像你学写字,会写字之后,用什么笔,用什么纸,你都能写字来表达。所以入门学编程,最好的方式就是上机写代码做习题,做项目,得把这个工具具体实际的用起来,而不单单是买书看书做笔记。只看说明书,是很难完全学会使用工具的。当然C语言是入门的基础。