Redian新闻
>
浙江民主人士坐不住了 声援《南方周末》 (转载)
avatar
浙江民主人士坐不住了 声援《南方周末》 (转载)# Joke - 肚皮舞运动
g*e
1
求32bit int log base 2. 越快越好
avatar
f*r
2
【 以下文字转载自 Military 讨论区 】
发信人: goodegg01 (goodegg), 信区: Military
标 题: 浙江民主人士坐不住了 声援《南方周末》
发信站: BBS 未名空间站 (Tue Jan 8 19:28:06 2013, 美东)
http://www.creaders.net 2013-01-07 18:59:51 参与 [8条评论,查看/发表评论]
南周事件发生后,浙江民主人士十分关心。1月7日下午,毛庆祥、王富华、吕耿松
、戚惠民、楼保生、任伟仁、徐光、魏祯凌、邹巍、高海兵、谭凯等人在杭州聚会,声
援南方周末。这些民主人士认为,南方周末新献词被篡改,显示了中共宣传官员的霸道
作风,也显示了中国媒体在中共独裁制度夹缝中生存的艰难。庹震之流无德无才的官员
,依恃其戈培尔式的党官地位,便对一份誉满中外的大报的重要社论任意删改,说明其
对神圣的新闻舆论的强奸和蹂艿搅宋抟愿醇拥牡夭健�
在世界文明已进步到微博时代的今天,这些粗暴无知的官员还在做这些让人不齿的
蠢事,实在是中国的耻辱。如果让这样的官员再存在下去,那么中国永远不会进步,更
谈不上中华民族的伟大复兴。浙江民主人士表示,他们坚决支持《南方周末》编辑部职
工抗议广东省传部官员篡改该报新年献词的正义行为,热烈响应茅于轼等27名学者尽快
罢免庹震的广东省委宣传部长职务的建议,并建议中共中央撤销宣传部这一破坏中国文
化,阻碍中华民族复兴大业的非法机构。
avatar
d*x
3
就是msb位置啊
用类似2分的办法可以做到log(bits)的速度
其实我记得cpu貌似直接有指令可以取

【在 g**e 的大作中提到】
: 求32bit int log base 2. 越快越好
avatar
g*e
4
yes, clz 这题考刚毕业的还可以,考工作七八年的是不是太偏了点

【在 d**********x 的大作中提到】
: 就是msb位置啊
: 用类似2分的办法可以做到log(bits)的速度
: 其实我记得cpu貌似直接有指令可以取

avatar
A*u
5
把int表示成2的倍数
比如
3 = 1+2 => 0 + 1 = 1
10 = 2+ 8 => 1 + 3 = 4
15 = 8+4+2+1 => 3 + 2 + 1 + 0 = 7
所以和count 1算法类似,做些小修改

【在 g**e 的大作中提到】
: 求32bit int log base 2. 越快越好
avatar
l*a
6
不是查对数表吗?O(1)

【在 g**e 的大作中提到】
: 求32bit int log base 2. 越快越好
avatar
d*e
7
我不会。。。

【在 g**e 的大作中提到】
: yes, clz 这题考刚毕业的还可以,考工作七八年的是不是太偏了点
avatar
g*e
8
我会这个 Math.log(n)/Math.log(2),在我的机器上比clz慢10倍

【在 d**e 的大作中提到】
: 我不会。。。
avatar
M*5
9
门神你真的也开始准备面试题啦~~~
avatar
b*7
10
算法思想:求n二进制中最高位的1所在的位置(32种可能),brute force或二分
int log(int n)
{
int t = -1;
while(n > 0)
{
n=n>>1;
t++;
}
return t;
}
int log(int n)
{
int t = -1;
int low = 0, high = sizeof(int)*8-1;//31
while(low <= high)
{
int mid = low + (high - low)/2;
int mask = 1 << mid;
if(mask & n)
{
t = mid;
}
if(mask >= n)
high = mid -1;
else
low = mid + 1;
}
return t;
}

【在 g**e 的大作中提到】
: 求32bit int log base 2. 越快越好
avatar
k*x
11
他是研究(面试)别人吧,跟被人研究(面试)区别大了去了。。。

【在 M********5 的大作中提到】
: 门神你真的也开始准备面试题啦~~~
avatar
e*s
12
我感觉二分好像不会比BF快,因为 每次都1 << mid。说不定更耗时

【在 b******7 的大作中提到】
: 算法思想:求n二进制中最高位的1所在的位置(32种可能),brute force或二分
: int log(int n)
: {
: int t = -1;
: while(n > 0)
: {
: n=n>>1;
: t++;
: }
: return t;

avatar
l*8
13
答案要求是double数据吧?

【在 g**e 的大作中提到】
: 求32bit int log base 2. 越快越好
avatar
a*s
14
哥们,您这方法不对,7×7=49了。
不能用加法分开在做log和的。您得先了解一下对数运算法则。log16=log(4×4)=
log4+log4

【在 A**u 的大作中提到】
: 把int表示成2的倍数
: 比如
: 3 = 1+2 => 0 + 1 = 1
: 10 = 2+ 8 => 1 + 3 = 4
: 15 = 8+4+2+1 => 3 + 2 + 1 + 0 = 7
: 所以和count 1算法类似,做些小修改

相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。