在 C++ 中求和 1<<2 和 1<<3 时出现奇怪的输出

2024-04-26

所以我只是尝试用 C++ 进行一些位操作。这是我尝试过的:

int a = 1<<2;
cout<<a;

这给出的输出为4.

int a = 1<<3;
cout<<a;

这给出的输出为8

但是当我这样做时:

int a = 1<<2 + 1<<3;
cout<<a;

它给出的输出为64。为什么这样?

我也尝试过:

int a = 1<<2;
int b = 1<<3;
cout<<a + b;

输出为12正如预期的那样。


这是因为加法的运算符优先级高于移位运算符。换句话说,你的第二个例子相当于1 << (2 + 1) << 3

此外,由于位移是左关联的,所以它与(1 << (2 + 1)) << 3。这简化为8 << 3,即64.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

在 C++ 中求和 1<<2 和 1<<3 时出现奇怪的输出 的相关文章

  • Web 客户端和 Expect100Continue

    使用 WebClient C NET 时设置 Expect100Continue 的最佳方法是什么 我有下面的代码 我仍然在标题中看到 100 continue 愚蠢的 apache 仍然抱怨 505 错误 string url http
  • Asp.NET WebApi 中类似文件名称的路由

    是否可以在 ASP NET Web API 路由配置中添加一条路由 以允许处理看起来有点像文件名的 URL 我尝试添加以下条目WebApiConfig Register 但这不起作用 使用 URIapi foo 0de7ebfa 3a55
  • 使用实体框架模型输入安全密钥

    这是我今天的完美想法 Entity Framework 中的强类型 ID 动机 比较 ModelTypeA ID 和 ModelTypeB ID 总是 至少几乎 错误 为什么编译时不处理它 如果您使用每个请求示例 DbContext 那么很
  • 如何使用 ICU 解析汉字数字字符?

    我正在编写一个使用 ICU 来解析由汉字数字字符组成的 Unicode 字符串的函数 并希望返回该字符串的整数值 五 gt 5 三十一 gt 31 五千九百七十二 gt 5972 我将区域设置设置为 Locale getJapan 并使用
  • 用于登录 .NET 的堆栈跟踪

    我编写了一个 logger exceptionfactory 模块 它使用 System Diagnostics StackTrace 从调用方法及其声明类型中获取属性 但我注意到 如果我在 Visual Studio 之外以发布模式运行代
  • HTTPWebResponse 响应字符串被截断

    应用程序正在与 REST 服务通信 Fiddler 显示作为 Apps 响应传入的完整良好 XML 响应 该应用程序位于法属波利尼西亚 在新西兰也有一个相同的副本 因此主要嫌疑人似乎在编码 但我们已经检查过 但空手而归 查看流读取器的输出字
  • 将 VSIX 功能添加到 C# 类库

    我有一个现有的单文件生成器 位于 C 类库中 如何将 VSIX 项目级功能添加到此项目 最终目标是编译我的类库项目并获得 VSIX 我实际上是在回答我自己的问题 这与Visual Studio 2017 中的单文件生成器更改 https s
  • 使用 WebClient 时出现 System.Net.WebException:无法创建 SSL/TLS 安全通道

    当我执行以下代码时 System Net ServicePointManager ServerCertificateValidationCallback sender certificate chain errors gt return t
  • 创建链表而不将节点声明为指针

    我已经在谷歌和一些教科书上搜索了很长一段时间 我似乎无法理解为什么在构建链表时 节点需要是指针 例如 如果我有一个节点定义为 typedef struct Node int value struct Node next Node 为什么为了
  • 将多个表映射到实体框架中的单个实体类

    我正在开发一个旧数据库 该数据库有 2 个具有 1 1 关系的表 目前 我为每个定义的表定义了一种类型 1Test 1Result 我想将这些特定的表合并到一个类中 当前的类型如下所示 public class Result public
  • 显示UnityWebRequest的进度

    我正在尝试使用下载 assetbundle统一网络请求 https docs unity3d com ScriptReference Networking UnityWebRequest GetAssetBundle html并显示进度 根
  • 如何设计以 char* 指针作为类成员变量的类?

    首先我想介绍一下我的情况 我写了一些类 将 char 指针作为私有类成员 而且这个项目有 GUI 所以当单击按钮时 某些函数可能会执行多次 这些类是设计的单班在项目中 但是其中的某些函数可以执行多次 然后我发现我的项目存在内存泄漏 所以我想
  • 如何在 C 中调用采用匿名结构的函数?

    如何在 C 中调用采用匿名结构的函数 比如这个函数 void func struct int x p printf i n p x 当提供原型的函数声明在范围内时 调用该函数的参数必须具有与原型中声明的类型兼容的类型 其中 兼容 具有标准定
  • 使用 x509 证书签署 json 文档或字符串

    如何使用 x509 证书签署 json 文档或字符串 public static void fund string filePath C Users VIKAS Desktop Data xml Read the file XmlDocum
  • Windows 窗体:如果文本太长,请添加新行到标签

    我正在使用 C 有时 从网络服务返回的文本 我在标签中显示 太长 并且会在表单边缘被截断 如果标签不适合表单 是否有一种简单的方法可以在标签中添加换行符 Thanks 如果您将标签设置为autosize 它会随着您输入的任何文本自动增长 为
  • 覆盖子类中的字段或属性

    我有一个抽象基类 我想声明一个字段或属性 该字段或属性在从该父类继承的每个类中具有不同的值 我想在基类中定义它 以便我可以在基类方法中引用它 例如覆盖 ToString 来表示 此对象的类型为 property field 我有三种方法可以
  • WPF/C# 将自定义对象列表数据绑定到列表框?

    我在将自定义对象列表的数据绑定到ListBox in WPF 这是自定义对象 public class FileItem public string Name get set public string Path get set 这是列表
  • cmake 将标头包含到每个源文件中

    其实我有一个简单的问题 但找不到答案 也许你可以给我指一个副本 所以 问题是 是否可以告诉 cmake 指示编译器在每个源文件的开头自动包含一些头文件 这样就不需要放置 include foo h 了 谢谢 CMake 没有针对此特定用例的
  • C# 模拟VolumeMute按下

    我得到以下代码来模拟音量静音按键 DllImport coredll dll SetLastError true static extern void keybd event byte bVk byte bScan int dwFlags
  • 如何将服务器服务连接到 Dynamics Online

    我正在修改内部管理应用程序以连接到我们的在线托管 Dynamics 2016 实例 根据一些在线教程 我一直在使用OrganizationServiceProxy out of Microsoft Xrm Sdk Client来自 SDK

随机推荐

  • 如何使用 word2vec 找到与向量最接近的单词

    我刚刚开始使用 Word2vec 我想知道如何找到最接近向量的单词 我有这个向量 它是一组向量的平均向量 array 0 00449447 0 00310097 0 02421786 dtype float32 有没有一种直接的方法可以在我
  • 如何处理 ember.js 组件中的自定义事件?

    我是 Ember js 的新手 在理解其原理时遇到了一些问题 我知道行动向上 数据向下但在现实生活中 假设我有Fotorama http fotorama io 在 my gallery 组件中初始化 我不知道这是否可以 但我是在didIn
  • EditText请求焦点

    我正在设计一个登录页面 UserName Password LoginButton 当活动开始时 我希望焦点转到 用户名 文本框并显示键盘 我正在使用以下代码 boolean checkFocus user requestFocus Log
  • 从数据框中删除所有非唯一行

    抱歉 这是我的第二篇文章 如果有什么不明白的地方请告诉我 我正在尝试删除所有有重复项的行 我已经尝试过keep False参数为drop duplicates 它只是没有做正确的事情 假设我的数据框看起来像这样 ORDER ID ITEM
  • 将带有 UIElement 的 FlowDocument 导出为 rtf

    我正在尝试导出一个FlowDocument其中包含一个 rtf 网格 我使用了以下代码 using FileStream fs new FileStream C demo rtf FileMode OpenOrCreate FileAcce
  • 我应该在 Uber 应用程序中放置什么重定向 URL?

    我正在阅读 Uber 的 sdk api 文档 但我是菜鸟 我不知道redirectURL 应该是什么 这是 Uber 提供的给定网址吗 因为我找不到它 或者是由应用程序开发人员部署自己的服务器 本地计算机定制的网页的 URL 如果是的话我
  • json_encode 可以触发 catch 块吗? [复制]

    这个问题在这里已经有答案了 这可能是一个非常简单的问题 但我找不到任何相关信息 我使用的系统聚合了来自不同来源的大量数据 然后将这些数据存储在数据库中 在大多数情况下 系统工作正常 但有时我们会遇到一个问题 即数据可能具有我们的系统不喜欢的
  • 使用 Spring Data 进行不区分大小写的排序

    如何使用 Spring data Pageable 进行不区分大小写的排序 我的存储库中有这个方法 public interface ItemRepository extends QueryDslPredicateExecutor
  • 使用类方法作为 celery 任务

    我正在尝试使用类的方法作为 django celery 任务 并使用 task 装饰器对其进行标记 描述了同样的情况here https stackoverflow com questions 8846489 celery python o
  • viewForHeaderInSection 的框架始终大小相同

    UIView tableView UITableView tableView viewForHeaderInSection NSInteger section if section 0 UIView view UIView alloc in
  • 在Python中分配空值或字符串

    我想了解分配空值和空输出之间是否有区别 如下所示 1 gt 像这样分配一个值 string 2 gt 作为输出返回空值 string abcd str1 str2 split 换句话说 1 gt 中的 string 和2 gt 中的 str
  • 检查是否有任何输入元素处于焦点

    我有一个 jquery 脚本 当按下键盘上的任意键时 它会显示一个 div 我想向脚本添加一个条件 仅当页面上没有其他输入区域 文本区域或文本字段 处于焦点时才运行脚本 这样您就可以在页面的其余部分实际键入内容 而无需显示 div docu
  • 如何在 Linux 中离线安装 vscode-server [重复]

    这个问题在这里已经有答案了 我正在尝试安装 VScode 远程 ssh 扩展 但我的远程主机无法连接到互联网 因此无法下载软件 所以我收到了一些类似的错误消息 SSH Resolver called for ssh remote kf SS
  • java与maven和eclipse中的clojure混合

    我创建了一个示例多语言程序 我有一个用java实现的传感器和一个机器人 以及用clojure实现的AI 我无法正确连接maven src main java clojuretest DistanceSensor java AI clj us
  • NiFi 如何将 InvokeHTTP 处理器与 SOAP 结合使用

    我看到其他人已经能够使其发挥作用 但是我无法找到足够的详细信息来解释他们如何实现这一目标 以便我能够使其发挥作用 This guy http apache nifi developer list 39713 n7 nabble com SO
  • 是否存在具有单个强所有者和多个弱引用的共享指针?

    我正在寻找类似于的智能指针Arc Rc只不过它不允许共享所有权 我想要尽可能多的rc Weak我需要的参考资料 但我只想one强引用 又称所有者 我想通过类型系统来强制执行这一点 Arc Rc可以克隆 并且可以在多个地方拥有它们 滚动我自己
  • 如果在 Application_Start 中抛出未处理的异常会发生什么?

    是否会针对下一个请求再次运行 Application Start 方法 它是否取决于 ASP NET 版本 托管服务器版本和 或其他上下文 我试图确定在那里加载关键程序集是否是一件好事 例如 对于整个应用程序的功能是否至关重要的数据访问组件
  • filehelpers - 解析可变行长度

    我必须解析 C a CSV文件 具有变量 宽度 和 2 行标题信息 第一行是名称 第二行是单位 数据如下 示例1 CSV timestamp NAME 1 NAME 2 NAME 3 NAME 4 ms unit 1 unit 2 unit
  • 设置 xamarin studio 以与 PCL 和 MVVMCross 配合使用

    我真的很喜欢 Xamarin Studio 并且正在寻找一个模板解决方案来开始使用 MvvmCross 开发跨设备应用程序 但我找不到如何将项目设置为与 Xamarin Studio 一起使用 PCL 和 MvvmCross 如果有人能给我
  • 在 C++ 中求和 1<<2 和 1<<3 时出现奇怪的输出

    所以我只是尝试用 C 进行一些位操作 这是我尝试过的 int a 1 lt lt 2 cout lt