导航: 老古网老古论坛XMOS公共讨论区XMOS开源项目区单片机程序设计嵌入式系统广告区域
→发表看法:[LEON1741]关于C语言中的移位运算的一个疑问,望各位



No.45379
作者:LEON1741
邮件:leon1741@126.com
ID:111064
登陆:1次
文章数:2篇
最后登陆IP:202.153.52.221
最后登陆:2008/5/25 10:06:09
注册:2008/5/19 20:02:39
财富:110
发帖时间:2008/5/19 20:14:14
发贴者IP:202.153.52.220
标题:LEON1741:关于C语言中的移位运算的一个疑问,望各位大侠帮忙解答
摘要:No.45379关于C语言中的移位运算的一个疑问,望各位大侠帮忙解答 大家都知道,实现高效的C 语言编写的方法中,有一招是使用位操作。
我前几天在网上看到一篇文章中讲到以下一个例子,就是关于移位运算的问题。
作者给了一个比较,首先是正常的运算:
int I,J;
I=257/8;
J=456%32;

然后是位运算:

int I,J;
I=257>  >  3;
J=456-(456>  >  4  <  <4);

并说第二种方法仅仅是几句相关的汇编,代码更简洁、效率更高。
这是没错,
但是其中的J的运算表达式中,为什么要先右移4位后再左移4位?
它原来是除32求余,换算过来应该也是5位啊?那它移4位的结果应该会出错吧

于是我自己去Turbo C环境下试了试,
却发现不仅仅4行,6也行,运算结 ......

>>返回讨论的主题



  发表回复
用户名   *您没有注册?
密码   *
验证码   * .
标题   *
心情
随便说说    我回答你    最新发现    得意的笑   
气死我了    真是没劲    坚决同意    表示反对   
大家过来    好奇怪哟    懒得理它    大家小心   
文件上传
内容


字体:      字体大小:    颜色:
粗体 斜体 下划线 居中 超级连接 Email连接 图片 Flash图片 Shockwave文件 realplay视频文件 Media Player视频文件 QuickTime视频文件 引用 飞行字 移动字 发光字 阴影字 查看更多的心情图标 背景音乐
点击加入表情
                         
选项
有回复时用短消息通知您?

   




老古网执行:16毫秒 最大:78531毫秒 查询6次