c语言中的a&0x80是什么意思

 我来答
董俊锟djk
推荐于2017-09-23 · TA获得超过2551个赞
知道小有建树答主
回答量:1231
采纳率:66%
帮助的人:1020万
展开全部
& 是按位与运算 ox表示十六进制数
关于按位与运算,先要将其他的进制数转化为二进制数,然后计算
ox80转化为二进制就是10000000
比如a是十进制数15,转化为二进制数就是
00001111
10000000
上下比较没有相同的位,结果就为0

刚刚查了sbuf,原来是什么单片机啊,虽然没有学过,但刚刚的回答应该没错
计算机都是以二进制的方式储存数据
追问
哦哦...你说的按位与这个我看明白了.如果SBUF中的数据是A,1,3,5呢
它和0x80如何计算的呢,我在单片机上试了一下.好象不对.
放过自己的我de
2019-02-20
知道答主
回答量:13
采纳率:0%
帮助的人:11.7万
展开全部
如果是单片机中用到的话,其实是取位用的,其结果就能知道bit7(1000 0000)的状态
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
笑谈我不言9514
2012-06-12 · TA获得超过622个赞
知道小有建树答主
回答量:522
采纳率:0%
帮助的人:317万
展开全部
你这代码是实现什么功能啊,写得可真累人呐。。
更多追问追答
追问
SBUF串口寄存器,收到串口数据想把这个数据赋值给一个数组a.
就想把这个收到串口数据赋值给一个数组a
收到的数据格式为A,1,3,6,8,.........
追答
这格式没见过。没看懂啥意思,
b = SBUF;
for(i = 0; i < 8; i++){
if(b & (1 << i)){
a[i] = 1;
}else {
a[i] = 0;
}
}
//比你网上找的简单吧//但是不知是不是你要的功能。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ncpyl
2012-06-12 · 超过13用户采纳过TA的回答
知道答主
回答量:93
采纳率:0%
帮助的人:36.4万
展开全部
你是在用C语言硬件编程吧
更多追问追答
追问
b = SBUF;
flag = 0x80;
for(i = 0; i>(7-i);//这个是什么意思.
flag>>=0x01;
P1 = a[i];
delay(); // 这个要看实际情况
}

是不是把b里按位取出来 赋给a数组啊
追答
你的P1是什么啊
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式