bit的用法
的有关信息介绍如下:bit是C51编译器的一种扩充数据类型,利用它可定义一个位标量,但不能定义位指针,也不能定义位数组。它的值是一个二进制位,不是0就是1,类似一些高级语言中的Boolean类型中的True和False。事实上,bit和数据类型为int,char等具有许多相同特性。 1.值域: 以char为例。Char为8位一个字节的数据类型,取值范围为-128到+127。而bit只有1位,只能表示0和1两种值。通常bit定义的变量作为一个标志位用。 2.类型定义: 例如一个数据为25,那么它就可以定义为char型、int型等。因为他们都在自己的值域内。同样一个在自己值域的数0和1就可以定义为bit型。Bit可以指定函数返回值春迟的类型,如bitdisplay(),也可对别的类型的数据进行数据强制转换,如x=(bit)y,(y为char,int型等)。此明毕时,x的值便为0或1。那么如何确定x是0还是1呢?现在看下面例题: bitlcd_busy(){ bitresult; LCD_RS=0; LCD_RW=1; 激森芹 LCD_EN=1; delayNOP(); result=(bit)(P0&0x80); LCD_EN=0; return(result);} 在上面例题中我们可以看到,bit定义了一个函数返回值类型bitlcd_busy(),一个变量result和一个运算表达式P0&0x80.由此可以bit的用法和char、int等相同。那么resulit的值如何确定呢?这个和运算表达式P0&0x80有关。如果表达式P0&0x80的运算结果为非零的值,那么resulit的值为1,否则为0。