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

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(使用前将#替换为@)

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

  • 无法使用 strptime() 获取秒数

    我收到 YYYY MM DDThh mm ss S Z hh mm 这种格式的日期时间 我正在尝试使用复制该值strptime如下所示 struct tm time 0 char pEnd strptime datetime Y m dT
  • 属性对象什么时候创建?

    由于属性实际上只是附加到程序集的元数据 这是否意味着属性对象仅根据请求创建 例如当您调用 GetCustomAttributes 时 或者它们是在创建对象时创建的 或者 前两个的组合 在由于 CLR 的属性扫描而创建对象时创建 从 CLR
  • C++:无法使用scoped_allocator_adaptor传播polymorphic_allocator

    我有一个vector
  • FFMPEG Seeking 带来音频伪影

    我正在使用 ffmpeg 实现音频解码器 在读取音频甚至搜索已经可以工作时 我无法找到一种在搜索后清除缓冲区的方法 因此当应用程序在搜索后立即开始读取音频时 我没有任何工件 avcodec flush buffers似乎对内部缓冲区没有任何
  • SSH 主机密钥指纹与模式 C# WinSCP 不匹配

    我尝试通过 WinSCP 使用 C 连接到 FTPS 服务器 但收到此错误 SSH 主机密钥指纹 与模式不匹配 经过大量研究 我相信这与密钥的长度有关 当使用 服务器和协议信息 下的界面进行连接时 我从 WinSCP 获得的密钥是xx xx
  • 为什么 POSIX 允许在只读模式下超出现有文件结尾 (fseek) 进行搜索

    为什么寻找文件结尾很有用 为什么 POSIX 让我们像示例中那样在以只读方式打开的文件中进行查找 c http en cppreference com w c io fseek http en cppreference com w c io
  • 跨多个控件共享事件处理程序

    在我用 C 编写的 Windows 窗体应用程序中 我有一堆按钮 当用户的鼠标悬停在按钮上时 我希望按钮的边框发生变化 目前我有以下多个实例 每个按钮一个副本 private void btnStopServer MouseEnter ob
  • 将字符串从非托管代码传递到托管

    我在将字符串从非托管代码传递到托管代码时遇到问题 在我的非托管类中 非托管类 cpp 我有一个来自托管代码的函数指针 TESTCALLBACK FUNCTION testCbFunc TESTCALLBACK FUNCTION 接受一个字符
  • C# 用数组封送结构体

    假设我有一个类似于 public struct MyStruct public float a 我想用一些自定义数组大小实例化一个这样的结构 在本例中假设为 2 然后我将其封送到字节数组中 MyStruct s new MyStruct s
  • c# Asp.NET MVC 使用FileStreamResult下载excel文件

    我需要构建一个方法 它将接收模型 从中构建excel 构建和接收部分完成没有问题 然后使用内存流导出 让用户下载它 不将其保存在服务器上 我是 ASP NET 和 MVC 的新手 所以我找到了指南并将其构建为教程项目 public File
  • 当 Cortex-M3 出现硬故障时如何保留堆栈跟踪?

    使用以下设置 基于 Cortex M3 的 C gcc arm 交叉工具链 https launchpad net gcc arm embedded 使用 C 和 C FreeRtos 7 5 3 日食月神 Segger Jlink 与 J
  • 按字典顺序对整数数组进行排序 C++

    我想按字典顺序对一个大整数数组 例如 100 万个元素 进行排序 Example input 100 21 22 99 1 927 sorted 1 100 21 22 927 99 我用最简单的方法做到了 将所有数字转换为字符串 非常昂贵
  • 使用向量的 merge_sort 在少于 9 个输入的情况下效果很好

    不知何故 我使用向量实现了合并排序 问题是 它可以在少于 9 个输入的情况下正常工作 但在有 9 个或更多输入的情况下 它会执行一些我不明白的操作 如下所示 Input 5 4 3 2 1 6 5 4 3 2 1 9 8 7 6 5 4 3
  • 使用 LINQ 查找列表中特定类型的第一个元素

    使用 LINQ 和 C 在元素列表中查找特定类型的第一个项目的最短表示法是什么 var first yourCollection OfType
  • .NET 选项将视频文件流式传输为网络摄像头图像

    我有兴趣开发一个应用程序 它允许我从 xml 构建视频列表 包含视频标题 持续时间等 并将该列表作为我的网络摄像头流播放 这意味着 如果我要访问 ustream tv 或在实时通讯软件上激活我的网络摄像头 我的视频播放列表将注册为我的活动网
  • 如何构建印度尼西亚电话号码正则表达式

    这些是一些印度尼西亚的电话号码 08xxxxxxxxx 至少包含 11 个字符长度 08xxxxxxxxxxx 始终以 08 开头 我发现这个很有用 Regex regex new Regex 08 0 9 0 9 0 9 0 9 0 9
  • GDK3/GTK3窗口更新的精确定时

    我有一个使用 GTK 用 C 语言编写的应用程序 尽管该语言对于这个问题可能并不重要 这个应用程序有全屏gtk window与单个gtk drawing area 对于绘图区域 我已经通过注册了一个刻度回调gtk widget add ti
  • 在 ASP.NET 中将事件冒泡为父级

    我已经说过 ASP NET 中的层次结构 page user control 1 user control 2 control 3 我想要做的是 当控件 3 它可以是任何类型的控件 我一般都想这样做 让用户用它做一些触发回发的事情时 它会向
  • 将变量分配给另一个变量,并将一个变量的更改反映到另一个变量中

    是否可以将一个变量分配给另一个变量 并且当您更改第二个变量时 更改会瀑布式下降到第一个变量 像这样 int a 0 int b a b 1 现在 b 和 a 都 1 我问这个问题的原因是因为我有 4 个要跟踪的对象 并且我使用名为 curr
  • 不同类型的指针可以互相分配吗?

    考虑到 T1 p1 T2 p2 我们可以将 p1 分配给 p2 或反之亦然吗 如果是这样 是否可以不使用强制转换来完成 或者我们必须使用强制转换 首先 让我们考虑不进行强制转换的分配 C 2018 6 5 16 1 1 列出了简单赋值的约束

随机推荐

  • 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