2012年8月23日

摘要: 由于C基础不牢,对位的操作一直不能很好的理解,今天早上想了1个小时才相同,写个博客加深一下理解。题目:现在有10,000,000个整数,里面有重复的数字,需要找出来。理解:10,000,000个整数需要对应的10,000,000bit,一个整数是32bit,所以需要的数组a[]的个数为10,000,000/32+1。现在有一个整数1000,首先通过1000/32得出对应的bit在第31个整数中的第8位。为了把这位设为1,用a[31]|=(1<<8)就可以了,清除这位用a[31]&=~(1<<8),检查该位用a[31]&(1<<8)“i/32” 阅读全文
posted @ 2012-08-23 11:45 蓝色守望 阅读(180) 评论(0) 推荐(0)

导航