嵌入式c语言中 &= ~和|=各是什么意思
4个回答
展开全部
&是按位与(双目运算符,需要2个操作数)
|是按位或(双目运算符)
~是按位非(单目运算符)
1&0=0,
0&1=0,
0&0=0,
1&1=1
1|0=1,
0|1=1,
0|0=0,
1|1=1
~1=0,~0=1
a|=b等价于a=a|b;
同理a&=b等价于a=a&b
所以rINTPND
|=BIT_UART0;等价于rINTPND=rINTPND
|
BIT_UART0
rINTSUBMSK
&=
~BIT_SUB_RXD0等价于rINTSUBMSK
=
rINTSUBMSK
&(~BIT_SUB_RXD0)
按位运算就是运算的时候先将操作数换算成二进制数来进行计算
譬如3
&
5就是011
&
101=001
扩展资料
/*
NAND
FLASH
(see
S3C2410
manual
chapter
6)
*/typedef
struct
{
S3C24X0_REG32
NFCONF;
S3C24X0_REG32
NFCMD;
S3C24X0_REG32
NFADDR;
S3C24X0_REG32
NFDATA;
S3C24X0_REG32
NFSTAT;
S3C24X0_REG32
NFECC;
}
S3C2410_NAND;static
S3C2410_NAND
*
s3c2410nand
=
(S3C2410_NAND
*)0x4e000000;volatile
unsigned
char
*p
=
(volatile
unsigned
char
*)&s3c2410nand->NFSTAT;
参考资料:搜狗百科
-
嵌入式c语言
|是按位或(双目运算符)
~是按位非(单目运算符)
1&0=0,
0&1=0,
0&0=0,
1&1=1
1|0=1,
0|1=1,
0|0=0,
1|1=1
~1=0,~0=1
a|=b等价于a=a|b;
同理a&=b等价于a=a&b
所以rINTPND
|=BIT_UART0;等价于rINTPND=rINTPND
|
BIT_UART0
rINTSUBMSK
&=
~BIT_SUB_RXD0等价于rINTSUBMSK
=
rINTSUBMSK
&(~BIT_SUB_RXD0)
按位运算就是运算的时候先将操作数换算成二进制数来进行计算
譬如3
&
5就是011
&
101=001
扩展资料
/*
NAND
FLASH
(see
S3C2410
manual
chapter
6)
*/typedef
struct
{
S3C24X0_REG32
NFCONF;
S3C24X0_REG32
NFCMD;
S3C24X0_REG32
NFADDR;
S3C24X0_REG32
NFDATA;
S3C24X0_REG32
NFSTAT;
S3C24X0_REG32
NFECC;
}
S3C2410_NAND;static
S3C2410_NAND
*
s3c2410nand
=
(S3C2410_NAND
*)0x4e000000;volatile
unsigned
char
*p
=
(volatile
unsigned
char
*)&s3c2410nand->NFSTAT;
参考资料:搜狗百科
-
嵌入式c语言
展开全部
&是按位与(双目运算符,需要2个操作数)
|是按位或(双目运算符)
~是按位非(单目运算符)
1&0=0,
0&1=0,
0&0=0,
1&1=1
1|0=1,
0|1=1,
0|0=0,
1|1=1
~1=0,~0=1
a|=b等价于a=a|b;
同理a&=b等价于a=a&b
所以rINTPND
|=BIT_UART0;等价于rINTPND=rINTPND
|
BIT_UART0
rINTSUBMSK
&=
~BIT_SUB_RXD0等价于rINTSUBMSK
=
rINTSUBMSK
&(~BIT_SUB_RXD0)
按位运算就是运算的时候先将操作数换算成二进制数来进行计算
譬如3
&
5就是011
&
101=001
|是按位或(双目运算符)
~是按位非(单目运算符)
1&0=0,
0&1=0,
0&0=0,
1&1=1
1|0=1,
0|1=1,
0|0=0,
1|1=1
~1=0,~0=1
a|=b等价于a=a|b;
同理a&=b等价于a=a&b
所以rINTPND
|=BIT_UART0;等价于rINTPND=rINTPND
|
BIT_UART0
rINTSUBMSK
&=
~BIT_SUB_RXD0等价于rINTSUBMSK
=
rINTSUBMSK
&(~BIT_SUB_RXD0)
按位运算就是运算的时候先将操作数换算成二进制数来进行计算
譬如3
&
5就是011
&
101=001
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“==”就是把等于的意思而“=”是赋值运算符
例如;
a==b,就是a等于b
而a=b,则是把b赋值给a
++i
--i
(
在使用之前使i的值加(减1)
例如i的原值
i=3
则j=++i
(i的值先加1变成4,在赋值给j,j的值现在是4)而
i++
i--
例如j=i++
则先是将i的值3赋给j,j的值变成3,而i的值变成4)
例如;
a==b,就是a等于b
而a=b,则是把b赋值给a
++i
--i
(
在使用之前使i的值加(减1)
例如i的原值
i=3
则j=++i
(i的值先加1变成4,在赋值给j,j的值现在是4)而
i++
i--
例如j=i++
则先是将i的值3赋给j,j的值变成3,而i的值变成4)
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询