Android 操作Canvas时,可以对一些区域进行多次的操作(包括与、或、非、异或等),示例代码如下...
分类:
移动开发 时间:
2014-06-07 16:19:28
阅读次数:
322
第二章 逻辑代数第一个知识点 逻辑代数中的三种基本运算常见的复合逻辑运算有与非 或非 与或非
异或 同或 二 逻辑代数基本公式和常用公式若干常用公式逻辑代数的基本定理1 代入定理 将一个式子比如A = b+c
可在表达式中有遇到A的地方都可以用b+c替换2 反演定理对于任意一个逻辑式y 如果将其中所...
分类:
其他好文 时间:
2014-06-06 21:34:25
阅读次数:
292
也算是一道模板题吧,只需按照SG函数的定义求出每个值的SG,然后异或就可以了。 1 #include
2 #include 3 #include 4 5 using namespace std; 6 const int N=10005; 7 int sg[N];
8 bool vis[N];...
分类:
其他好文 时间:
2014-06-04 17:27:21
阅读次数:
200
或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。它与布尔运算的区别在于,当运算符两侧均为1时,布尔运算的结果为1,异或运算的结果为0。
异或的性质:
1、交换律:a^b = b^a;
2、结合律:(a^b)^c = a^(b^c);
3、对于任意的a:a^a=0,a^0=a,a^(-1)=~a。
了解了上面这些,来看看这个,很重要,后面的程序都要用到这个结论:
对于任意的a,有a^b^c^...
分类:
其他好文 时间:
2014-06-03 03:19:56
阅读次数:
267
设FA为A的牌中数字异或和,FB为B的。则有性质:ans =
(所有的(A&B=0)个数 +
(FA=FB且A&B=0)的个数)/2。即所有的FA>FB的个数(除2是因为这里FA>FB的个数等于FA#include #include
#include #include using namespace...
分类:
其他好文 时间:
2014-06-02 20:01:12
阅读次数:
195
变量交换变量 3.1 通过中间变量 3.2 两数相加,减某一个数
值类型变量(int,bool等)如果作为类的全局变量,会有默认值,但如果作为局部变量,则必须手动赋值代码规范 1.注释
2.骆驼(camel)命名,第一个单词首字母小写,之后单词首字母大写 3.帕斯卡(pascal)命名,所有...
分类:
其他好文 时间:
2014-06-02 01:31:16
阅读次数:
353
逻辑函数的化简
先补点各种门的 basic knowledge
NAND 与非 NOR或非 XOR异或 XNOR 同或
对于同或,异或之前一直没搞明白。。。。那个该死的标记老是混淆,也不知道为嘛标记的发明人为嘛要那么标记
。。。现在知道了XOR。。。所以异或的标记是一个圈中间一把×
...
分类:
其他好文 时间:
2014-06-01 10:28:14
阅读次数:
251
思路:上篇博文中已经了解到异或去重的原理,而且知道如果只有一个只出现一次的数字的求法,但这里是有两个只出现一次的数字,我们便要想办法把他分为两个子数组,每个子数组中包含一个只出现一次的数字,其他的数字都出现了两次。剑指offer上的思路很巧妙,依然从头到尾异或所有的数字,这样得到的结果实际上就是两个只出现了一次的数字异或的结果,我们在异或后的结果中找出其二进制中最右边为1的位,该位既然为1,说明异或的两个数字对应的该位肯定不同,必定一个为1,一个为0,因此我们可以考虑根据此位是否为1来划分这两个子数组,这样...
分类:
其他好文 时间:
2014-06-01 09:58:08
阅读次数:
245
写一个函数,求俩个整数之和,要求函数体内不得使用+、-、*、/
四则运算符合。看到题目,我们知道,现在只有位运算可以用了,那就用位运算吧。第一步:对2个数的每一位相加,但不进位,我们可以用异或运算完成。第二步:找到进位的位置,并计算进位的值,我们先用与运算可以找到位置,然后左移一位,得到进位的值(比...
分类:
其他好文 时间:
2014-05-28 00:01:28
阅读次数:
369
出题:给定一个数字序列,其中每个数字最多出现两次,只有一个数字仅出现了一次,如何快速找出其中仅出现了一次的数字;分析:由于知道一个数字异或操作它本身(X^X=0)都为0,而任何数字异或操作0都为它本身,所以当所有的数字序列都异或操作之后,所有出现两次的数字异或操作之后的结果都为0,则最后剩下的结果就...
分类:
其他好文 时间:
2014-05-25 22:21:55
阅读次数:
411