首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在C-如果(ptr->name& 0x10)意味着什么?

在C-如果(ptr->name& 0x10)意味着什么?
EN

Stack Overflow用户
提问于 2018-09-18 22:15:05
回答 1查看 1K关注 0票数 1

C语言新手。我理解指针和十六进制格式,但我不知道'& 0x10‘在做什么。能不能请人解释一下,或者建议我研究和自学的题目。谢谢。

代码语言:javascript
复制
if(ptr1->name & 0x10)
{
     prt2->indicator1  |= 0x80;      
}  
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-09-18 23:13:25

我不知道“&0x10”在做什么。能不能请人解释一下,或者建议我研究和自学的题目。谢谢。

if(ptr1->name & 0x10)

是使用ptr1->name的任何值,并使用0x10将其用于安定

如果您理解十六进制,那么您就知道0x10在十进制中是16,并且您可能知道16是2^4,这意味着在二进制中这个值是0b10000

如果此操作的结果为非零,则这将告诉我们设置了ptr1->name的第4位(位编号从0开始,例如g2^0= 0x1),并将导致行prt2->indicator1 |= 0x80;的执行。

查看C中的位运算符

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52395299

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档