为什么负数对向量大小取模不会得到负数? [复制]

2024-02-16

#include <iostream>
#include <string>
#include <vector>

using namespace std;

int main()
{
  vector<int> v = {1, 2, 3, 4, 5, 6, 7};
  int i = -4;

  cout << i << endl;
  cout << v.size() << endl;
  cout << i % v.size() << endl;
  cout << -4 % 7 << endl;
}

上面的代码打印:

-4
7
5
-4

有人可以解释一下原因吗i % v.size() prints 5代替-4?我猜这与vector.size(),但不确定根本原因是什么。提前致谢。


的操作数为%经历常见的算术转换在执行划分之前将它们变成共同类型。如果操作数是int and size_t,那么int被转换为size_t.

If size_t那么是32位的-4会成为4294967292然后表达式的结果是4294957292 % 7这实际上是0.

If size_t那么是64位的-4将变为 18,446,744,073,709,551,612,其结果% 7 is 5你看到了。

所以实际上我们可以从这个输出中看出您的系统有 64 位 size_t。

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

为什么负数对向量大小取模不会得到负数? [复制] 的相关文章

  • 使用链表进行堆排序

    我想知道是否有人曾经使用链表进行堆排序 如果他们可以提供代码 我已经能够使用数组进行堆排序 但尝试在链表中进行排序似乎不切实际 而且在你知道的地方很痛苦 我必须为我正在做的项目实现链接列表 任何帮助将不胜感激 我也用C 答案是 你不想在链表
  • 如何从字符串中提取子字符串直到遇到第二个空格?

    我有一个像这样的字符串 o1 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 1232 5467 如何仅提取 o1 1232 5467 要提取的字符数并不总是相同 因此 我只想提取直到遇到
  • 是否可以使用 http url 作为 DirectShow .Net 中源过滤器的源位置?

    我正在使用 DirectShow Net 库创建一个过滤器图 该过滤器图通过使用 http 地址和 WM Asf Writer 来流式传输视频 然后 在网页上 我可以使用对象元素在 Windows Media Player 对象中呈现视频源
  • EntityHydrate 任务失败

    我最近安装了 Visual Studio 11 Beta 和 Visual Studio 2010 之后 我无法在 Visual Studio 2010 中构建依赖于 PostSharp 的项目 因此我卸载了 Visual Studio 1
  • C# 中的 Stack<> 实现

    我最近一直在实现递归目录搜索实现 并且使用堆栈来跟踪路径元素 当我使用 string Join 连接路径元素时 我发现它们被颠倒了 当我调试该方法时 我查看了堆栈 发现堆栈内部数组中的元素本身是相反的 即最近 Push 的元素位于内部数组的
  • 无法继承形状

    为什么我不能使用继承 a 的类Shapes class http msdn microsoft com en us library ms604615 28v vs 90 29 我需要延长Rectangle具有一些方法的类 但我想以与使用相同
  • Boost ASIO 串行写入十六进制值

    我正在使用 ubuntu 通过串行端口与设备进行通信 所有消息都必须是十六进制值 我已经在 Windows 环境中使用白蚁测试了通信设置 并得到了我期望的响应 但在使用 Boost asio 时我无法得到任何响应 以下是我设置串口的方法 b
  • 在 Mono 中反序列化 JSON 数据

    使用 Monodroid 时 是否有一种简单的方法可以将简单的 JSON 字符串反序列化为 NET 对象 System Json 只提供序列化 不提供反序列化 我尝试过的各种第三方库都会导致 Mono Monodroid 出现问题 谢谢 f
  • Android NDK 代码中的 SIGILL

    我在市场上有一个 NDK 应用程序 并获得了有关以下内容的本机崩溃报告 SIGILL信号 我使用 Google Breakpad 生成本机崩溃报告 以下是详细信息 我的应用程序是为armeabi v7a with霓虹灯支持 它在 NVIDI
  • if constexpr 中的 not-constexpr 变量 – clang 与 GCC

    struct A constexpr operator bool const return true int main auto f auto v if constexpr v A a f a clang 6 接受该代码 GCC 8 拒绝它
  • JavaScript 错误:MVC2 视图中的条件编译已关闭

    我试图在 MVC2 视图页面中单击时调用 JavaScript 函数 a href Select a JavaScript 函数 function SelectBenefit id code alert id alert code 这里 b
  • Libev,如何将参数传递给相关回调

    我陷入了 libev 中争论的境地 通常 libev 在类似的函数中接收包 接收回调 没关系 但是实际操作中 我们需要派遣一个亲戚 写回调 根据收到的包裹处理具体工作 例如 S RECV MSG pstRecvMsg S RECV MSG
  • LinkLabel 无下划线 - Compact Framework

    我正在使用 Microsoft Compact Framework 开发 Windows CE 应用程序 我必须使用 LinkLabel 它必须是白色且没有下划线 因此 在设计器中 我将字体颜色修改为白色 并在字体对话框中取消选中 下划线
  • 读取依赖步行者输出

    I am having some problems using one of the Dlls in my application and I ran dependency walker on it i am not sure how to
  • 以编程方式创建 Blob 存储容器

    我有一个要求 即在创建公司时 在我的 storageaccount 中创建关联的 blob 存储容器 并将容器名称设置为传入的字符串变量 我已尝试以下操作 public void AddCompanyStorage string subDo
  • 如何在C#中控制datagridview光标移动

    我希望 datagridview 光标向右移动到下一列 而不是在向单元格输入数据后移动到下一行 我试图通过 dataGridView1 KeyDown 事件捕获键来控制光标 但这并不能阻止光标在将数据输入到单元格后移动到下一行 提前感谢你的
  • 如何从 Windows Phone 7 模拟器获取数据

    我有一个 WP7 的单元测试框架 它在手机上运行 结果相当难以阅读 因此我将它们写入 XDocument 我的问题是 如何才能将这个 XML 文件从手机上移到我的桌面上 以便我可以实际分析结果 到目前为止 我所做的是将 Debugger B
  • .Net Reactive Extensions Framework (Rx) 是否考虑拓扑顺序?

    Net 反应式扩展框架是否按拓扑顺序传播通知以最大限度地减少更新量 就像 Scala Rx 所做的那样 Net 反应式扩展 Rx 是否可以 https github com lihaoyi scala rx wiki How it Work
  • 如何在 ASP.NET Core 中注入泛型的依赖关系

    我有以下存储库类 public class TestRepository Repository
  • 嵌入式linux编写AT命令

    我在向 GSM 模块写入 AT 命令时遇到问题 当我使用 minicom b 115200 D dev ttySP0 term vt100 时它工作完美 但我不知道如何在 C 代码中做同样的事情 我没有收到任何错误 但模块对命令没有反应 有

随机推荐

  • Boost Log 更改默认logging::core 格式化程序?

    我正在使用 Boost v1 54 我想简单地更改logging core的默认接收器格式 但还没有找到方法 在里面日志记录格式 http www boost org doc libs 1 54 0 libs log doc html lo
  • 嵌套异常是 java.sql.SQLException:无法为连接 URL 'null' 创建类 '' 的 JDBC 驱动程序 - Spring MVC JNDI 问题

    我正在开发 SpringMvcJndiDataSourceXML 示例 在此示例中 我面临以下错误 我找到了很多链接 但没有一个对我有用 虽然这是重复的问题 但我仍然想得到以下问题的答案 请指导 org springframework jd
  • javascript 命名函数表达式 - 范围可访问性[重复]

    这个问题在这里已经有答案了 我正在跟进John Resig 的 JS 忍者秘密幻灯片 http ejohn org apps learn 11我发现了一些我不太明白的东西 下面的代码定义了一个命名函数表达式 var ninja functi
  • 如何在KONG中实现外部身份验证?

    我在用着KONG API网关 https konghq com 并且我想将 JWT 身份验证实现为单独的微服务 不使用 KONG 插件 现在我可以轻松地使用 KONG 注册此服务 以便用户可以注册和登录 假设经过身份验证的用户发送了一个请求
  • 将 MS Office Communicator 状态指示器添加到 JSP 中

    我想将 MS Office Communicator 状态指示器添加到我的 Java 应用程序 jsp 中 如果您的目标是 Windows 平台 最简单的方法是在客户端完成所有操作 只要客户端运行 IE Office 2003 或更高版本以
  • 当输入句子没有标点符号时使用的句子分割工具(已标准化)

    假设有一个类似 给我找一些爵士音乐并播放它 的句子 其中所有文本都已标准化并且没有标点符号 语音识别库的输出 除了连接词分割的简单方法之外 还有哪些在线 离线工具可用于进行 句子分割 Input 给我找一些爵士乐并播放 Output 给我找
  • 如何在node.js中生成PDF

    我想生成一个模块 该模块将通过将输入作为我的发票来生成 PDF 并且该 PDF 文件会自动发送给客户的邮件 ID 在第一步中 我得到了一些代码并尝试生成 PDF 该代码工作正常 我能够生成 PDF 但我无法打开该文件 对于代码 我使用此链接
  • 调试应用程序中的巨大内存泄漏

    我的应用程序刚刚泄漏了 1 5GB 内存 我想因为我没有大量可用的数据 所以我假设它泄漏了内存 但它也可能只是保留它 我目前正在使用 perfmon 收集尽可能多的信息 以尝试了解可能导致问题的原因 目前我没有太多线索 希望能从这里的人们那
  • 检查xml节点是否存在?

    我想检查给定的节点是否存在 xml文件 我尝试 string language node SelectSingleNode language null node SelectSingleNode language Value en en U
  • NetBeans + 多个 php 版本 + 没有 PEAR 的 phpUnit

    我的问题有点复杂 我在 IIS 上有多个 php 版本 每个php项目都有自己的php版本和域名 例如 www webshop loc 我正在通过NetBeans开发项目 并且我想使用TDD作为开发过程 我的问题是 如何在不安装 PEAR
  • .NET core 使用 Xunit + Autofixture + Moq 编写更好的单元测试

    在 NET Core 中进行单元测试 我使用 Xunit Moq 和 Autofixture 但即使有了它们 我发现我的单元测试变得复杂并且需要时间 也许有人可以告诉我是否有任何方法可以缩小这个测试的规模 Fact public async
  • Angular:$broadcast 和 $emit 按值或引用发送消息对象?

    给出以下代码 var msg field1 val1 field2 val2 more fields scope broadcast EventName msg 事件消费者接收到一个指向msg或副本 事件消费者接收一个指针到事件数据 例如
  • HTML 中是否还有其他有用的空白代码,例如用于半空格、全空格、全空格等的  ?

    想知道是否还有其他代码可用于 HTML 新闻通讯 我会使用单元格填充或边距 但我对 HTML CSS 很陌生 我找不到确实影响主标题行及其下方子标题的更改 作为一封电子邮件 我很犹豫是否要使用 CSS 来实现它 因为我不知道电子邮件客户端不
  • PHPMailer 安全吗

    我知道这可能不是一个简单的问题 但我正在开发几个 Web 表单 并且想要一个 PHP 库 我可以用它来发送邮件并让它自动清理数据 我正在查看 PHPMailer 它看起来设置起来非常简单 PHPMailer 是一个安全库 可用于防止我的表单
  • 在 IE 中打印 iframe

    我有一个按钮 可以将要打印的报告加载到 div 内的 不可见 iframe 中并打印该 iframe 用户按下按钮即可打印报告 包含在不同的页面上 除了打印对话框之外 无需更改页面或任何视觉干扰 它适用于 Chrome 和 Firefox
  • 如何使用php获取昨天的日期?

    我想在 php 中使用特定日期格式获取昨天的日期 格式如下 today date d m Y 15 04 2013 是否可以 如果应分别更改 请考虑月份和年份 就这样吧 date d m Y strtotime 1 days 如果月份发生变
  • 使用表单事件检测数据更改

    如果您阅读了我最近提出的其他问题 您可能会发现我不是reallyAccess 开发人员 我的大部分背景都是 VB 在那里我刻意避免绑定控件 现在我在 Access 2007 中工作 我有一个基于表 嗯 单表查询 的表单 以及一个基于一对多子
  • http.Server — 获取 URL 片段

    提取片段数据没有运气 foo in http domain com path foo http domain com path foo 与标准http Server package main import fmt net http type
  • Nodejs 数据结构在设计上是线程安全的吗?

    在node js相关的Web文档中读到它是一个单线程服务器 因此 我很困惑节点服务器中的所有数据结构是否默认都是线程安全的 我有多个回调访问全局对象 如下所示 callback1 global var key val callback2 g
  • 为什么负数对向量大小取模不会得到负数? [复制]

    这个问题在这里已经有答案了 include