以下是小弟模仿书里写的代码:
public partial class Form1 : Form
{
char ch1 = 'O', ch2 = 'K';
int key = 0x1f;
public Form1()
{
InitializeComponent(); // 加载控件代码
}
private void btnMingWen_Click(object sender, EventArgs e)
{
txtMingWen.Text = "明文:" + ch1 + ch2;
}
private void btnMiwen_Click(object sender, EventArgs e)
{
ch1 = (char)(ch1 ^ key);
ch2 = (char)(ch2 ^ key);
txtMiWen.Text = "密文:" + ch1 + ch2; //这里不懂...
}
private void btnJieMi_Click(object sender, EventArgs e)
{
ch1 = (char)(ch1 ^ key);
ch2 = (char)(ch2 ^ key);
txtJieMi.Text = "解码:" + ch1 + ch2;
}
}
我对着书里的练习做,但
ch1 = (char)(ch1 ^ key);
ch2 = (char)(ch2 ^ key);
txtMiWen.Text = "密文:" + ch1 + ch2;
前面两句的ch1^key的结果是P,ch2^key的结果是T?小弟刚接触编程,不是很懂,有望各位高手指教,谢谢!
是幂运算的话,结果为什么是O^0x1f=P K^0x1f=T?
c#的异或运算符问题
你好。异或是按照二进制来计算的。5的二进制是 0000 0101 30的二进制是 0001 1110 而异或的算法就是,两个二进制数的每一位进行比较,如果相同则为0,不同则为1。所以应该列式:0000 0101 0001 1110 --- 0001 1011 就得到了 0001 1011。这个二进制表示的十进制数是27。所以最后得到了27。谢谢...
C#中|是什么意思
是或的 意思,和 || 不同的是, | 这个是 或, || 叫短路或!也就是说例如 if( true | false) 它就会检测完两个英文,再判断.而if( true || false) 呢,就只要检测到第一个符合了,就不再检测第二个了!若有疑问请继续提出。
c#中逻辑异或问题
ch1中的值的二进制码与key的二进制码按位取异或,然后得出的二进制码在转换成字符型输出
C#中a 为false,b 为false,则逻辑运算a&&b以及a&b均为true?是不是书上...
就是说两个值不相同,则异或结果为真。反之,为假。 不同为1,相同为0.所以你上面说的都是错误的,看书要有怀疑,尽信书则不如无书。祝你学业有成 追问 我验证了一下,上面的这个a为false,b 为false,则逻辑运算a&&b以及a&b均为true 这句是对的;下面的那个异或是错的。。。对的那句有些想不明白啊,怎...
C#中逻辑判断 详细说明
首先,这么简单的东西还写个程序干嘛。其次,一直没细致地想过,只是直观上觉得构造逻辑式子很容易。比如,A为1,B为1:A&B A和B至少有一个为真:A|B 还能举出很多,让人觉得很简单的式子。归结了一下,这类式子用到的都是基本的逻辑描述:与,或,非,异或。。。等等 而这些东西,中学的数序...
c#字符串异或的问题
{ b.Append(s[i] ^ 'k'); } Console.WriteLine(b); } }} 虽然能语法通过可运行,但用C#的字符做异或操作,没有多少实际意义,如果是涉及异或加密,必须在字节而不是字符上操作
C# ^= 是什么意思
^=是异或的意思 a^=b<=>a=a^b;功能:就是相同的为1,不同的为0(数字要化为二进制来算)例如:true^true =false;true^false=true;false^false=false;例如:int a=1^2;此时a=3;算法过程:1二进制01;2二进制10 01^10=11;\/\/就是相同为1,不同位 int b=7^3;7 111;^ 3 ...
c# VS求异或校验和的问题
回答:1)Encoding.ASCII.GetBytes(……)得到字节数组,数组中的每个元素在计算机内部都是以二进制格式存储的(其实计算机内存中所有类型的数据都是以二进制格式存储的!) 2)可以用10进制、16进制来表达或输出这些二进制数据 3)C#的异或操作是基于二进制按位操作 ----- 不知道你XOR校验和的具体算法...
C#中^是什么符号?
C#中^是按位异或运算符(用于对数据的位进行操作),它表示的含义是逐位非或,要求两个整型操作数。从最小(即最右)的位开始,对操作数逐位操作;如果只有其中一个位为1,那么结果为1;否则为0。例如: 0000 0000 1011 1111^ 0000 1111 0101 1111为0000 1111 1110 0000。
在C#程序中a^b表示什么
二元 ^ 运算符是为整型和 bool 类型预定义的。对于整型,^ 将计算操作数的按位“异或”。对于 bool 操作数,^ 将计算操作数的逻辑“异或”;也就是说,当且仅当只有一个操作数为 true 时,结果才为 true。http:\/\/msdn.microsoft.com\/zh-cn\/library\/zkacc7k1 ...