电子产业一站式赋能平台

PCB联盟网

搜索
查看: 3377|回复: 6
收起左侧

if(temp&0x01)什么意思

[复制链接]

585

主题

910

帖子

4977

积分

四级会员

Rank: 4

积分
4977
发表于 2022-8-18 10:40:33 | 显示全部楼层 |阅读模式
void usercode(uint usrcode)
{
uchar temp, i;
temp = usrcode & 0xff;
i = 8;
while (i--)
{
if (temp & 0x01)
send1();
else
send0();
temp = temp >> 1;
}
我就想问temp不是个8位的,和0x01按位与不还是个8位的吗,咋还能用if呢
回复

使用道具 举报

600

主题

954

帖子

5061

积分

四级会员

Rank: 4

积分
5061
发表于 2022-8-18 10:40:58 | 显示全部楼层
temp只是一个变量而已,变量哪里分位了,而且这里按位与,将它转换为16进制计算的,即便如你所说,不是八位,那么不足的位便是0了
回复 支持 反对

使用道具 举报

587

主题

981

帖子

5126

积分

四级会员

Rank: 4

积分
5126
发表于 2022-8-18 10:41:10 | 显示全部楼层
你问的那什么意思,就是说,按位与了,如果是不等于0,那么值为真,就执行if里面的语句!我也是初学者,大家可以多多交流。互相指导进步,交流心得!
回复 支持 反对

使用道具 举报

616

主题

968

帖子

5301

积分

四级会员

Rank: 4

积分
5301
发表于 2022-8-18 10:41:27 | 显示全部楼层
判断temp最后一位是不是1
回复 支持 反对

使用道具 举报

616

主题

968

帖子

5301

积分

四级会员

Rank: 4

积分
5301
发表于 2022-8-18 10:41:44 | 显示全部楼层
判断temp最后一位是不是1
回复 支持 反对

使用道具 举报

598

主题

943

帖子

5138

积分

四级会员

Rank: 4

积分
5138
发表于 2022-8-18 10:42:28 | 显示全部楼层
如果temp最右边的那一位为1  则执行
回复 支持 反对

使用道具 举报

591

主题

959

帖子

5157

积分

四级会员

Rank: 4

积分
5157
发表于 2022-8-18 10:43:05 | 显示全部楼层
if(x&0x0002)那这个是什么意思啊
回复 支持 反对

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表