【电子资讯】什么是位运算
有很多的运算都是以字节作为基本位进行的,但在很多系统程序中常要求在位(bit)一级进行运算或处理。C语言是为描述系统而设计的,因此它具有汇编语言所能完成的一些功能,有较好的位操作指令。在控制领域有时经常需要控制某一个二进制位。在ICCAVR编译器中没有扩充位数据类型,当它们需要访问寄存器的某一位时,只能使用ANSI C语言的位运算功能。例如,要将PORTB寄存器的第2位置1,则在ICCAVR中可以这样:
或使用macros,h头文件中定义的BTT(i)宏命令,程序如下:
这两种方法效果相同。
注意,各种C编译器对位定义及处理的方式不同,如果使用有些编译器支持的位变量,会使程序的移植性降低。
电子街推荐阅读