谁帮忙翻译这个C++语句!

来源:百度知道 编辑:UC知道 时间:2024/06/14 20:25:55
#include<iostream>
using namespace std;
int main()
{
char a,key;
cout<<"please input a key(char):"<<endl;
cin>>key;
cout<<"please input a character encoded:"<<endl;
cin>>a;
char temp=char(a^key);
cout<<temp<<endl;
cout<<char(temp^key)<<endl;
return 0;
}
^符号和 temp是什么意思啊!

按位异或运算符“^”是双目运算符。其功能是参与运算的两数各对应的二进位相异或,当两对应的二进位相异时,结果为1。参与运算数仍以补码出现,例如9^5可写成算式如下:
00001001
^00000101
00001100 (十进制为12)

程序的意思是输入一个密钥key和一个字符a,用密钥异或加密字符后赋值给temp(加密后的字符,即密文)并输出,再用key解密temp并输出。

#include<iostream>
using namespace std;
int main()
{
char a,key;
cout<<"please input a key(char):"<<endl;
cin>>key; //输入一个字符
cout<<"please input a character encoded:"<<endl;
cin>>a; //再输入一个
char temp=char(a^key); //两个字符做与运算
cout<<temp<<endl;
cout<<char(temp^key)<<endl; //把结果打印出来
return 0;
}