计算一个字中1的个数(MIT牛人算法)
int bitcount(unsigned int n){ unsigned int tmp; tmp = n - ((n >> 1) & 033333333333) - ((n >> 2) & 011111111111); return ((tmp + (tmp >> 3)) & 030707070707)%63;}虽然不知道怎么个意思,留着吧,只有膜拜的份.
- 1楼JustJavaC1小时前
- MIT牛人算法?咋什么都和mit挂钩啊,就像很多算法题,非要说谷歌微软面试题。nnjava的源码就是这么写的。这也是一个很常见的算法。
- Re: ustcqi58分钟前
- 回复JustJavaCn哦,这是CSAPP课件上的,这个算法据说是上世纪七十年代,MIT的牛人们整理的笔记,里头包含着许多神奇的算法和代码。嘿嘿