如果要想进行位操作,则需要先将十进制的数据变为二进制数据(除2,求余)。例如:int x=-3; //以补码的形式存在,补码=反码+1左移和右移>:右移操作是将运算数的二进制码整体右移,右移后空出来的位置以符号位来填充。如果是正数使用“0”填充,负数用“1”填充左移操作int x=3;x>2;y>....
分类:
其他好文 时间:
2015-01-29 12:36:45
阅读次数:
171
原题地址不用除运算和模运算的除法就退化成最基本的减法如果除数是1,被除数超大,这做减法还不得累死,所以,用位运算加快速度。对于被除数和除数都是正数的情况,除法流程为:用位运算生成小于等于当前被除数一半的数字,然后一口气减掉,如此循环往复,直到被除数小于除数。对于其他被除数和除数当中有负数的情况,为了...
分类:
其他好文 时间:
2015-01-29 11:58:06
阅读次数:
118
最近有朋友想学习erlang,问我有什么好入门的学习资料。我也借此机会整理一下:erlang中文手册、位运算与二进制解析、二进制高效编程、异常处理详解;面对软件错误构建可靠的分布式系统、编写分布式的 Erlang 程序:陷阱和对策、硝烟中的Erlang;底层有erlang VM基于多核处理器的可伸缩性特征、erlang VM内部数据共享机制、erlang 消息传递机制等...
分类:
其他好文 时间:
2015-01-25 19:41:04
阅读次数:
128
【题目】
Divide two integers without using multiplication, division and mod operator.
If it is overflow, return MAX_INT.
【分析】
不能用乘除和取模,就只能用加减和位运算。
最简单的方法就是不断的减去被除数。这种方法的迭代次数是结果的大小,即比如结果为n,算法复杂度...
分类:
其他好文 时间:
2015-01-25 11:09:58
阅读次数:
106
一.位运算在计算机程序中,数据的位是可以操作的最小数据单位,理论上可以用"位运算"来完成所有的运算和操作。一般的位操作是用来控制硬件的,或者做数据变换使用,但是,灵活的位操作可以有效地提高程序运行的效率。C语言提供了位运算的功能,这使得C语言也能像汇编语言一样用来编写系统程序。二.位运算符1.& 按...
分类:
其他好文 时间:
2015-01-24 22:32:35
阅读次数:
181
表达式与运算符 表达式 与数学中的定义相似,表达式是指具有一定的值的、用运算符把常数和变量连接起来的代数式。一个表达式可以只包含一个常数或一个变量。运算符可以是四则运算符、关系运算符、位运算符、逻辑运算符、复合运算符。下表将这些运算符从高优先级到低优先级排列:括号(x) [x]中括号只用于指明数组的...
分类:
编程语言 时间:
2015-01-24 21:24:43
阅读次数:
302
虽说是暴力题,但还是有很多很多的技巧与细节。 这题: 1、熟悉了位运算符,感觉异或操作的逼格有高了一级 2、可以用一个数的2进制来表示集合(这个需要多用) 3、中途相遇法。。。其实就是把总的集合拆成两半,降低指数使得暴力可解。(前段时间的中南校赛,好像也有个这种方法的题) #inclu...
分类:
其他好文 时间:
2015-01-24 15:42:27
阅读次数:
140
位运算符的使用(转自http://www.cnblogs.com/pengyingh/articles/2357033.html)
分类:
其他好文 时间:
2015-01-23 12:33:10
阅读次数:
256
问题:一个整数数组里除了两个数字之外,其他的数字都出现了两次。请写程序找出这两个只出现一次的数字。要求时间复杂度为O(n),空间复杂度为O(1)。 分析:这是一个很新颖的关于位运算的题目。 首先考虑这个问题的一个简单版本:一个整数数组里除了一个数字之外,其他的数字都出现两次,请写程序找出这个只出现一...
分类:
编程语言 时间:
2015-01-20 22:00:54
阅读次数:
694
位移动运算符:>表示右移. 右移一位表示除2.位运算:位运算符包括: 与(&)、非(~)、或(|)、异或(^) &:当两边操作数的位同时为1时,结果为1,否则为0。如1100&1010=1000 | :当两边操作数的位有一边为1时,结果为1,否则为0。如1100|1010=1110 ~...
分类:
编程语言 时间:
2015-01-20 20:10:10
阅读次数:
218