或是一种基于二进制的位运算,用符号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
已知一副RGB图像中的的像素值,利用matlab将其分割出来并以二进制图像形式显示:
%extract.m
clear all;
I=imread('new_original.png');
figure,imshow(I),title('Original Image');
bw=im2bw(I,0.3);
%figure,imshow(bw),title('Gray Image');
rgb=[...
分类:
其他好文 时间:
2014-06-03 02:46:26
阅读次数:
989
进制转换
首先是十进制转化为其他进制,如二进制,八进制,十六进制:
它们在java中都有专门的函数可供调用:
如:十进制转化为二进制时调用toBinaryString();
十进制转化为八进制时调用toOctalString();
十进制转化为十六进制时调用toHexString();
代码实现:
// 进制转化
public class Main_2...
分类:
编程语言 时间:
2014-06-01 15:54:23
阅读次数:
343
问题:
对于给定序列1...n,permutations共有 n!个,那么任意给定k,返回第k个permutation。0
分析:
这个问题要是从最小开始直接到k,估计会超时,受10进制转换为二进制的启发,对于排列,比如 1,2,3 是第一个,那么3!= 6,所以第6个就是3,2,1。也就是说,从开始的最小的序列开始,到最大的序列,就是序列个数的阶乘数。那么在1,3 , 2的时候呢?调整一...
分类:
其他好文 时间:
2014-06-01 14:03:55
阅读次数:
257
/*天下文章一大抄,你抄我抄大家抄,只是学习笔记,别介意
~>_>"右移:右边的位被挤掉。对于左边移出的空位,如果是正数则空位补0,若为负数,可能补0或补1,这取决于所用的计算机系统。
按位右移。将一个运算量的各位(二进制表示)依次右移若干位,低位被移出,高位对无符号数补0,对有符号数要按...
分类:
其他好文 时间:
2014-06-01 12:14:52
阅读次数:
242
题目链接:http://poj.org/problem?id=3252题意:给出一个二进制区间,求出0的个数不小于1的个数这样的二进制个数解法:数位DP,定义状态dp[len][num_zero][num_one],num_zero
定义为写0的个数。 1 #include 2 #include 3...
分类:
其他好文 时间:
2014-06-01 12:06:33
阅读次数:
191
http://acm.hdu.edu.cn/showproblem.php?pid=1429
第一次接触搜索+状态压缩 看了大神的题解 勉强把题目弄懂了。
用二进制来表示手头的钥匙有哪些,100表示有第三把钥匙,111表示有第三、二、一把,搜索下一点时,如果该点为钥匙点,则可采用|运算来
模拟拾取,显然0001 | 1000 = 1001,同理,当为相应的门时采用&运算来模拟开启,例...
分类:
其他好文 时间:
2014-06-01 10:35:21
阅读次数:
256
思路:上篇博文中已经了解到异或去重的原理,而且知道如果只有一个只出现一次的数字的求法,但这里是有两个只出现一次的数字,我们便要想办法把他分为两个子数组,每个子数组中包含一个只出现一次的数字,其他的数字都出现了两次。剑指offer上的思路很巧妙,依然从头到尾异或所有的数字,这样得到的结果实际上就是两个只出现了一次的数字异或的结果,我们在异或后的结果中找出其二进制中最右边为1的位,该位既然为1,说明异或的两个数字对应的该位肯定不同,必定一个为1,一个为0,因此我们可以考虑根据此位是否为1来划分这两个子数组,这样...
分类:
其他好文 时间:
2014-06-01 09:58:08
阅读次数:
245
基本知识:
在 Java 中, java.lang.String 可用于表示长字符串(长度超过 255), 字节数组 byte[] 可用于存放图片或文件的二进制数据. 此外, 在 JDBC API 中还提供了 java.sql.Clob 和 java.sql.Blob 类型, 它们分别和标准 SQL 中的 CLOB 和 BLOB 类型对应. CLOB 表示字符串大对象(Character...
分类:
系统相关 时间:
2014-05-31 23:03:24
阅读次数:
574
1. 背景1.1. 惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4 +
Thrift压缩二进制编解码技术,他们实现了10W
TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据...
分类:
Web程序 时间:
2014-05-31 19:25:15
阅读次数:
553