C/C++
xueyonglu2012
这个作者很懒,什么都没留下…
展开
-
结构体对齐
为什么要引入内存对齐?可以提高存储效率,CPU要访问某个数据,可以减少访问次数,提高访问速度,但是速度的提高会损失些内存,属于空间转载 2014-05-16 10:52:13 · 447 阅读 · 0 评论 -
异或的性质
异或是一种基于二进制的位运算,用符号XOR或者 ^ 表示,其运算法则是对运算符两侧数的每一个二进制位,同值取0,异值取1。它与布尔运算的区别在于,当运算符两侧均为1时,布尔运算的结果为1,异或运算的结果为0。 简单理解就是不进位加法,如1+1=0,,0+0=0,1+0=1。 性质 1、交换律 2、结合律(即(a^b)^c == a^(b^c)) 3、对于任何数x,都有x^x=0,转载 2014-05-13 17:16:18 · 708 阅读 · 0 评论 -
位运算与和异或求平均值
今天在CSDN上看了一个求两个数的平均值的算法:Avg = (ValueA & ValueB) + (ValueA ^ ValueB) >>1,这种方法避免了应用Avg=(ValueA+ValueB)/2时,ValueA+ValueB造成的溢出。 但是想了很久不知道其中的奥妙,后来在“盗月泉”的百度空间,一句“每个二进数都可以分解为各个位与其权的乘积的和”提醒了我,终转载 2014-05-13 17:18:21 · 826 阅读 · 0 评论