C++:这个运算符^是什么? [复制]

2024-02-11

int main() {

std::string original = "Hello world";
std::string decrypted;
std::string encrypted;
char key = 'x';

cout << "Original string: " << original << endl << endl;

for(int i=0;i<original.size();i++)
{
    encrypted += original[i] ^ ((int)key + i) % 20;
}

cout << "Encrypted string: " << encrypted << endl << endl;

cin.get();
return 0;

}

我在youtube上找到了这个加密程序,我不知道这行代码是做什么的-->加密+=original[i]^((int)key+i)%20; 。这是什么 ^ 运算符,它到底是做什么的?我以为它只是用于计算数字的幂。此外,当我将这一行更改为加密 = 加密 + 原始[i] ^ ((int)key + i) %20;我收到错误“std::operator 中的运算符不匹配”,这是为什么?

抱歉我的英语不好,提前谢谢。


In C++, ^是异或、或异或函数。您可以阅读更多相关内容here http://en.wikipedia.org/wiki/Exclusive_or.

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

C++:这个运算符^是什么? [复制] 的相关文章

随机推荐

  • 如何在离开用户界面状态时停止 $interval?

    Angular UI 路由器 在状态控制器中使用 interval 如下所示 scope Timer null scope startTimer function scope Timer interval scope Foo 30000 s
  • 使用 cmd.exe /c 相对于根本不使用 cmd 的优点

    如果我在 C 中运行一个进程 使用 cmd c 比直接运行进程有什么好处吗 Ex ProcessStartInfo info new ProcessStartInfo cmd exe info Arguments c application
  • 区分键盘的真实按键和虚拟按键

    我正在用 C 编写一个程序 它必须模拟键盘的按键命令 问题是 我需要模拟 真实 的键盘按钮点击 而不是假的 例如 据我了解 当用户按下键盘上的任何按钮时 信号通过 USB 发送 然后通过键盘驱动程序继续 当使用 API SendInput
  • 将 async/await 与 DataReader 一起使用? (没有中间缓冲区!)

    我的目标很简单 我想做异步 I O 调用 使用 async wait 但是 不使用 DataFlow 依赖项 就像这个答案一样 https stackoverflow com a 13148683 859154 没有中间缓冲区 不喜欢这个答
  • 在 WPF Frame 控件中关闭导航页面声音

    我在 WPF 窗口中有一个 Frame 元素 并且应用程序中的所有内容都是使用 Frame Navigate 加载的 但是 当导航到新页面时 默认会播放该声音 它与 Internet Explorer 中播放的声音相同 有什么方法可以从应用
  • Visual Studio 2015 中的默认日期时间选择器仅显示日期选择器,不允许选择时间

    我正在使用 Visual Studio 2015 并且在我的 MVC5 应用程序中使用其默认日期时间选择器 我在显示日期时间选择器时遇到问题 它仅显示日期选择器而不显示时间选择器 但我也需要时间选择器 这是我在模型中的 datetimepi
  • ValueError:使用 pandas hub_table 不允许使用负尺寸

    我正在尝试制作项目 项目协作推荐代码 我的完整数据集可以找到here https drive google com open id 0B7KsvcvcTJ4DeU1IRE93ZHVnRGM 我希望用户成为行 项目成为列 评级成为值 我的代码
  • .NET 中的串行端口通信

    我正在使用 C 从串行端口接收数据 但存在一些问题 我对此很陌生 所以我需要一些帮助 首先我想知道哪些函数是事件驱动的 ReadExisting Read Readbyte Readchar ReadLine Readto 如何从该端口的输
  • Spark 读取路径/文件名中包含空格的 csv 文件时出错

    我想使用 Spark 读取 csv 文件 文件的路径有空格 Spark 正在将空格替换为 20 这是代码 val tmpDF spark read format com databricks spark csv option multiLi
  • 在 Android 上运行标准 Java 代码

    我想在 Android 上运行我的 Java 代码 但我对活动不熟悉 如何在 Activity 上调用 WordPuzzle 安卓活动 public class Puzzle extends Activity public void onC
  • 我正在尝试创建一个可访问的
  • Spring MVC 与 hibernate Validator 来验证单个基本类型

    下面是我遇到问题的映射方法 无论我传递给它什么值 验证都会返回 通过验证 RequestMapping value test method RequestMethod POST ResponseBody public String getT
  • 网站不同部分使用不同的 SSL 证书

    我在 example com 上有一个网站 它从 s example com 亚马逊 Cloudfront 发行版 加载所有静态组件 现在我想让 example com 的一些页面使用 https 所以我想我应该为 example com
  • 了解 Kafka 主题和分区

    我开始学习卡夫卡 在阅读过程中 我想到了一些问题 当生产者生成消息时 它会指定topic它想要将消息发送到 是对的吗 它关心分区吗 当订阅者运行时 它是否指定其组ID 以便它可以成为同一主题或该组消费者感兴趣的多个主题的消费者集群的一部分
  • 使用 Jquery 将剪贴板图像复制到网页中

    我想将剪贴板图像复制到网页中 前任 用户单击打印屏幕按钮 打开网页 单击 CTRL V 图像将上传到网页 可以使用 jquery javascript 或 PHP 吗 在火狐浏览器中可以吗 提前致谢 恐怕不是 不是 您必须让用户将屏幕截图保
  • 在哪里更改oracle 11g中的NLS_DATE_FORMAT?

    我需要更改存储过程中的 NLS DATE FORMAT 似乎它是一个会话变量 我应该在哪里更改变量掩码 应该在全局声明中还是其他地方完成 我的意思是从前端 如果您想更改过程中的 NLS 参数 则可以使用DBMS SESSION SET NL
  • 元素“标题”出现次数太少,ASP.NET.MVC 母版页中出现 XHTML 验证警告

    我在 ASP NET MVC 母版页中收到以下 XHTML 验证警告 验证 XHTML 1 0 Transitional 元素 title 出现的次数太少 母版页的标题标签包含在 head 标签的 ContentPlaceHolder 中
  • NLTK数据安装问题

    我正在尝试在 Mac OSX 10 9 上安装 NLTK Data NLTK 3 0文档中提到 要设置的下载目录是 usr share nltk data 用于集中安装 但对于这条路径 我收到错误 OSError Errno 13 权限被拒
  • 运算符重载Python自定义类

    假设我想重载一个运算符 假设 现在 对于我创建的一些课程 class A object code here 进而 a A b A 我会做什么来定义 c a b 或类似的规定 注意 这个问题纯粹是理论上的 我可能会在某个时候使用它 只是目前不
  • C++:这个运算符^是什么? [复制]

    这个问题在这里已经有答案了 int main std string original Hello world std string decrypted std string encrypted char key x cout lt lt O