| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1571 人关注过本帖
标题:代码填空,在横线上填,只允许填一句!
只看楼主 加入收藏
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
回复 10楼 rib
没说你错啊,诶

技术问题,请不要以短消息方式提问
2011-04-30 16:07
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
前不久才有人讨论过类似 n*2 和 n << 1 的问题。其实区别不大。

https://bbs.bccn.net/viewthread.php?tid=337783
2011-04-30 18:10
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:3 
程序代码:
char* p = "1010110001100";
    int n = 0;
    for(int i=0;i<strlen(p); i++)
    {
        n = n + (p[i] – 48) * pow(2,strlen(p)-i-1);
    }
    printf("%d\n", n);
这次的参考题确实有点恶心

                                         
===========深入<----------------->浅出============
2011-04-30 19:29
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
回复 12楼 pangding
你不懂不要乱说.乘法会和移位的效率相同么?是倍数的关系好伐,你计算100次,用rdtsc测一下看看呢?大不了编译器帮你优化成左移了而已

技术问题,请不要以短消息方式提问
2011-04-30 21:07
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
计算 42 亿多次(int 的最大值)至少没看出明显的时间差。

以前用汇编写过(指令分别是 add 和 imul)。时间主要全耗在跳转上了。
理论上是应该差很多(比如32倍,或者8倍),但我当时没测出来。移位我没测,但位移的速度理论上应该和 add 差别不大。

您是汇编区的头,有问题当然要向您请教了~
2011-04-30 22:45
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
回复 15楼 pangding
不要酱紫说,都是学习的人

技术问题,请不要以短消息方式提问
2011-05-03 09:23
xjzxylj
Rank: 3Rank: 3
等 级:论坛游侠
帖 子:86
专家分:113
注 册:2011-4-18
收藏
得分:3 
二进制转换我个人建议用位移计算,简单啊。

淫一手湿,简单;难的是,淫一被子湿。(富有诗意,此处抄袭)
2011-05-03 14:05
南国利剑
Rank: 12Rank: 12Rank: 12
等 级:贵宾
威 望:29
帖 子:1165
专家分:3536
注 册:2010-4-12
收藏
得分:0 
回复 楼主 南国利剑
我是这么写的:
        n = n + (*(p + i) - '0') * pow(2,strlen(p)- i -1);

南国利剑
2011-05-04 20:17
快速回复:代码填空,在横线上填,只允许填一句!
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.022635 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved