题目描述 写一个函数,求两个整数之和,要求在函数体内不得使用+、-、*、/四则运算符号。 思路:只能是位运算。 按位与,得到的结果就是两个数字都为1的位置,按位与得到的结果 再左移一位,就是进位进上去的那些数 在 按位异或, 0 1,1 0,得到1,0 0得到0.和加法的结果一致,1 1得到0,相当 ...
分类:
其他好文 时间:
2016-10-01 19:20:51
阅读次数:
106
以前一直以为&&和||的运算结果就是布尔值,但今天看到一段代码又填补的一些知识漏洞。 第一眼看到,就很自然地以为答案就是布尔值1。但总觉着有点不对劲,验证之后的到结果却为5; 还以为是位运算的另一种表达方式,但以位运算的规则计算之后,这个猜测立即被否定。 经过查资料并验证之后,发现以下的短路运算规则 ...
分类:
其他好文 时间:
2016-09-30 20:58:24
阅读次数:
154
位运算。 又涨姿势了:$a + b = (aXORb) + 2*(aANDb)$,$ (aXORb)$是不进位的部分,$2*(aANDb)$为进位之后的部分,相加就是$a + b$。 知道了这个转换,这题就很容易了。设$n=a+b$,$m=(aXORb)$,$x=(aAND b)$;$n$、$m$和 ...
分类:
其他好文 时间:
2016-09-29 21:33:49
阅读次数:
110
关于图像的位操作,目的是为了将一个logo覆盖到另一个图片上。 输出图形(位置好像不太对。。。请忽略): 这里感谢交流群里废帝和黄同学帮助理解位运算。目前还是不能深入理解,再学习下吧。 ...
分类:
编程语言 时间:
2016-09-29 07:41:37
阅读次数:
376
转载自:http://www.jb51.net/article/40559.htm,感谢原作者。 以下是对C语言中的位运算符:与、或、异或、取反、左移与右移进行了详细的分析介绍,需要的朋友可以过来参考下 位运算是指按二进制进行的运算。在系统软件中,常常需要处理二进制位的问题。C语言提供了6个位操作运 ...
分类:
编程语言 时间:
2016-09-28 13:04:50
阅读次数:
156
Java提供了丰富的运算符,如算术运算符、关系运算符、逻辑运算符、位运算符等等。Java的表达式就是用运算符连接起来的符合Java规则的式子。运算符的优先级决定了表达式中运算执行的先后顺序。在编写程序时尽量的使用括号()运算符号来实现想要的运算次序,以免产生难以阅读或含糊不清的计算顺序。运算符的结合 ...
分类:
编程语言 时间:
2016-09-27 19:36:13
阅读次数:
173
指针 - 指针的基本操作间接引用指针所指向的对象 - 机器一般按字节寻址,所以能够独立分配的最小空间是1字节,也就是说指针指向的 最小空间为1字节。特别地,对于bool变量,虽然实际需要的是1bit,但其大小是1字节。 如果需要更小的空间,可以使用按位运算或者位域 数组 - char*可以用字符常量 ...
分类:
编程语言 时间:
2016-09-26 00:46:00
阅读次数:
157
很神奇的一道题,金策大爷给的题解: 什么叫神犇什么叫蒟蒻? IOI冠军的一句基本相同让我思考了一下午。 看完了题解我就想都没想开始用遍历二分图搞,但是搞到了65分后就总是会WA掉7组。 然后仔细的看了看std,位运算上对几处做了常数上的优化,读起来异常麻烦,到最后看懂他在干什么了。但是总是不理解。 ...
分类:
其他好文 时间:
2016-09-25 18:57:24
阅读次数:
182
位操作是程序设计中对位模式按位或二进制数的一元和二元操作。 在许多古老的微处理器上, 位运算比加减运算略快, 通常位运算比乘除法运算要快很多。 在现代架构中, 情况并非如此:位运算的运算速度通常与加法运算相同(仍然快于乘法运算) 缺点:只能为整型和字符型数据 位运算主要是针对二进制进行的计算操作,其 ...
分类:
编程语言 时间:
2016-09-22 01:04:53
阅读次数:
159
今天在项目中遇到按位或组合权限串的问题: 首先每一个权限数都是2的N次方数 如:k1=2 ; //添加 k2=4 ; //删除 k3=8; //修改 ... 如此定义功能权限数,当需要组合权限时,就需要对各个所拥有的权限数按位或了。 如: purview = k2|k3; // 赋给添加和删除权限 ...
分类:
编程语言 时间:
2016-09-21 10:10:41
阅读次数:
148