首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在整数上使用逻辑运算符

在整数上使用逻辑运算符
EN

Stack Overflow用户
提问于 2022-06-20 16:36:26
回答 1查看 108关注 0票数 -2

我最近在这个站点上看到了一条关于在C中对整数使用逻辑运算符的帖子,但是,我并不真正理解它是如何工作的,所以在这里我提供了两个例子,我希望有人能为它们提供一个详细的解释:

  1. int result = 1000 & 255
  2. int result = 1000 || 255
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-06-20 16:45:25

小数1000是二进制11 1110 1000。小数点255是二进制111111。首先,它们被转换为signed int,通常32位宽。

取其中的&在操作数的两个位设置的所有位置设置位:

代码语言:javascript
运行
复制
  0000 0000 0000 0000 0000 0011 1110 1000
  0000 0000 0000 0000 0000 0000 1111 1111
& ---------------------------------------
  0000 0000 0000 0000 0000 0000 1110 1000

这是小数点232。取|将在至少设置一位的所有位置设置位,即产生二进制11 1111 1111,即十进制1023。如果采用^,将在精确地设置其中一个位的所有位置设置位,即

代码语言:javascript
运行
复制
  0000 0000 0000 0000 0000 0011 1110 1000
  0000 0000 0000 0000 0000 0000 1111 1111
^ ---------------------------------------
  0000 0000 0000 0000 0000 0011 0001 0111

&&不是二进制操作。它只是返回1当且仅当两个操作数是非零的.||返回1当且仅当至少一个操作数是非零的.在其他情况下,它们分别返回0。

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

https://stackoverflow.com/questions/72690260

复制
相关文章

相似问题

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