9个回答
展开全部
按位与的意思,要注意a和b的类型,先算出其位数在运算
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
这个其实就是数学上的 与 的意思
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
“与"运算,求和
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
&在C语言中可能表示两种运算符。
如果运算对象只有一个,且为右操作数,那么&为取地址运算符,结果为操作对象的地址。例如&a(假设a是一个左值,即具有具体的可访问的地址)结果为a的地址。
如果运算对象有两个,那么&表示位与运算。结果中的每一个二进制位等于两个运算数的对应位置的二进制位按位与。每一个位的位与运算法则是,当且仅当运算数都为1时结果为1,即:1 & 1 == 1,1 & 0 == 0 & 1 == 0 & 0 == 0。
例如:
char a,b;
a=0xc5;/*a=10100101b;*/
b=0xdd;/*b=11011101b;*/
c=a&b;/*c=10000101b*/
结果是c==0x85。( l18230365 错误,11111101b是位或a|b的结果。)
----
[原创回答团]
如果运算对象只有一个,且为右操作数,那么&为取地址运算符,结果为操作对象的地址。例如&a(假设a是一个左值,即具有具体的可访问的地址)结果为a的地址。
如果运算对象有两个,那么&表示位与运算。结果中的每一个二进制位等于两个运算数的对应位置的二进制位按位与。每一个位的位与运算法则是,当且仅当运算数都为1时结果为1,即:1 & 1 == 1,1 & 0 == 0 & 1 == 0 & 0 == 0。
例如:
char a,b;
a=0xc5;/*a=10100101b;*/
b=0xdd;/*b=11011101b;*/
c=a&b;/*c=10000101b*/
结果是c==0x85。( l18230365 错误,11111101b是位或a|b的结果。)
----
[原创回答团]
参考资料: 原创
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询