本文目录一、算术运算符二、赋值运算符三、自增运算符和自减运算符四、sizeof五、逗号运算符六、关系运算符七、逻辑运算符八、三目运算符九、位运算符计算机的基本能力就是计算,所以一门程序设计语言的计算能力是非常重要的。C语言之所以无所不能,是因为它不仅有丰富的数据类型,还有强大的计算能力。C语言一共有...
分类:
移动开发 时间:
2015-08-20 12:33:20
阅读次数:
198
什么是位(bit)? 很简单,位(bit)就是单个的0或1,位是我们在计算机上所作一切的基础。计算机上的所有数据都是用位来存储的。一个字节(BYTE)由八个位组成,一个字是二个字节或十六位,一个双字(DWORD)是二个字(WORDS)或三十二位。 使用位运算的好处是可以将BYTE,WORD或DW.....
分类:
其他好文 时间:
2015-08-19 23:23:34
阅读次数:
147
一、位运算介绍 1、运算符:& | ^ ~ > 用途: 直接操作二进制,省内存,效率高。 注意 只能用于整型操作数(char ,short,int ,long) 运算规则: 1)& 按位与 全1才1 否则0 : 只有对应的两个二进位均为1时,结果位才为1,否则为0 用6和3这个例子。#inc...
分类:
移动开发 时间:
2015-08-19 20:19:42
阅读次数:
142
(一)、 (1)、运算符的概念及分类 运算符是告诉编译程序执行特定算术或逻辑操作的符号。 按照功能划分:算术运算符、关系运算符与逻辑运算符、按位运算符。 运算符根据参与运算的操作数的个数为: 单目运算符、双目运算、三目运算 单目运算:只有一个...
分类:
移动开发 时间:
2015-08-18 18:39:37
阅读次数:
149
1.位运算
python可以把整数当成二进制位来对待
x
x|2,也就是换算成二进制0001|0010(或运算就是遇见1变为1),即0011也就是3
x&1,换成二进制0001&0001(与运算就是相同的变1),即0001也就是1
2.数字的其他工具
math模块,包括一系列数学运算公式,例如sin,cos,sqrt,pow等
我们具体可以通过help这个内建函数来查...
分类:
编程语言 时间:
2015-08-18 09:06:39
阅读次数:
162
话题一:异或先看一段代码吧:这段代码是用来实现a,b交换的。异或是位运算符,0^1为1,其他情况都是0,这是一个加法不进位的功能!这有什么用呢?其实通过上面交换的例子,我们已经明白A^B^A将得到B,也就是可以实现数据还原的功能!话题二:%与&如果有一堆数据,我们想将..
分类:
编程语言 时间:
2015-08-16 23:28:42
阅读次数:
221
题意:第i种生物有k[i]个特征,分数是score[i],现在要参加竞赛,报出一种生物a,和一些特征h[i],参加竞赛的所有生物在这些h[i]上面的特征是一样的,a生物有h[i],则所有竞赛的生物都必须有h[i],a生物没有,竞赛的生物也没有,没有提到的则不用管。问你在竞赛中a的排名思路:特征最多只...
分类:
其他好文 时间:
2015-08-16 02:04:22
阅读次数:
95
移位运算左移n位,相当于乘以2的n次右移n位,相当于除以2的n次,取整2 << 3,因为将一个数左移n位,就相当于乘以了2的n次方,那么,一个数乘以8只要将其左移3位即可,而位运算cpu直接支持的,效率最高,所以,2乘以8等於几的最效率的方法是2 << 3。
分类:
其他好文 时间:
2015-08-15 14:46:47
阅读次数:
87
不得不说位运算的应用都是很巧妙的。
这道题求一个连续区间整数的与运算的值,突破点在于连续的区间这个特点。我们可以先找几个数看一下规律,
2 3 4 5的二进制分别是 10 ,11,100,101,可以发现若m==n,则m为答案;当m!=n时,因为连续的两个数的二进制
的最后一位肯定不一样,与的值一定是0,前面相同的部分(1&1=1,0&0=0)保持。
所以我们每次先判断,不同的话就右移一位...
分类:
其他好文 时间:
2015-08-15 00:14:27
阅读次数:
250
快速幂顾名思义,就是快速算某个数的多少次幂。其时间复杂度为 O(log?N), 与朴素的O(N)相比效率有了极大的提高。——bybaidu快速幂可以用位运算这个强大的工具实现。代码: 1 int pow(int a,int b) 2 { 3 int ans=1; 4 while(b!...
分类:
其他好文 时间:
2015-08-14 23:57:40
阅读次数:
324