数据通信的校验算法核心思想:为了保证通讯数据的可靠性,通常加入校验来验证一帧数据是否有误,校验的方式有很多种,异或校验是常见的一种,你这个如2楼说的,是逐字节进行按位异或运算,结果放在最后一个字节,接收方收到数据进行同样计算,如果最后一个字节和计算结果一致,则可认为这一帧数据可信。...
分类:
编程语言 时间:
2014-09-10 19:34:10
阅读次数:
157
按位异或运算可以在不引入临时变量的情况下实现两个变量值得互换。intmain()
{
inta=10;
intb=12;
cout<<"a="<<a<<";"<<"b="<<b<<endl;
a=a^b;//异或运算
b=a^b;
a=b^a;
cout<<"a="<<a<<";"<<"b="<<b<..
分类:
其他好文 时间:
2014-09-10 02:56:41
阅读次数:
186
一看就是找规律的题。只要熟悉异或的性质,可以秒杀。为了防止忘记异或的规则,可以把异或理解为半加运算:其运算法则相当于不带进位的二进制加法。一些性质如下:交换律:结合律:恒等律:归零律:典型应用:交换a和b的值:a=a^b^(b=a);#include#include#include#include#...
分类:
其他好文 时间:
2014-09-09 23:02:29
阅读次数:
314
按位异或运算符,通常称为XOR运算符,遵守以下规则:对于两个运算数的相应位,如果任何一个位是1,但不是两者全为1,那么结果的对应位将是1;否则是0。该运算符的真值表:b1 b2 b1 ^ b2-------------------------0 0 00 1 11 0 11 1 0如果把w1和w2分...
分类:
其他好文 时间:
2014-09-09 23:02:09
阅读次数:
309
Help with Intervals
Time Limit: 6000MS
Memory Limit: 131072K
Total Submissions: 10444
Accepted: 2551
Case Time Limit: 2000MS
Description
LogLoader, Inc. is a...
分类:
其他好文 时间:
2014-09-09 18:21:09
阅读次数:
326
给n个数
求异或前缀(从前连续取一些数全作异或)和异或后缀(从后连续取一些数全作异或)异或的最大值
好坑啊,指针好坑啊
第一道trie树
简单说下解法(其实壳还是不深):
先异或所有数作为初始后缀
然后从前往后的数逐个从后缀出来,进入前缀,
在这个过程中,都把当前前缀变成二进制压入trie,然后当前后缀变成二进制从高位到低位尽量取和它数位不同的值,沿着trie往下走,得到一个最好...
分类:
其他好文 时间:
2014-09-09 13:11:40
阅读次数:
278
题目大意:
给出一串数,pre[i](前i个数的异或)为a[0]~a[i-1]的异或,post[i](后缀的异或)为a[i]~a[n-1]的异或,求pre[i]^post[j]的最大值(0
做法:
利用trie树将后缀或者前缀存储起来,首先从pre[n]开始,往前遍历,对于每个前缀,将此时的后缀添加到trie树中,再在trie中寻找与当前前缀异或之后能得到最大的值。
在trie...
分类:
其他好文 时间:
2014-09-09 13:10:18
阅读次数:
228
Java小知识点------最简单的加密算法(异或加密)...
分类:
编程语言 时间:
2014-09-09 13:05:48
阅读次数:
546
C#的位运算符&,| ,^ ,>2008年08月01日 星期五 15:52位 运 算我们知道任何信息在计算机中都是以二进制的形式保存的位操作符就是对数据按二进制位进行运算的操作符C#语言中的位操作符有 & 与 | 或 ^ 异或 ~ 取补 > 右移其中取补只有一个操作数而其它的位操作符都有两个操作数这...
分类:
其他好文 时间:
2014-09-09 11:48:08
阅读次数:
137
题目大意:在给定区间内对每个数的最后一个二进制为1的位将其修改为0,如果数本身已经为0了,就不做改变输出给定区间的所有数的异或值 1 #include 2 #include 3 using namespace std; 4 #define N 10005 5 #define L ls,x,mid.....
分类:
其他好文 时间:
2014-09-09 11:47:08
阅读次数:
243