《编写高质量代码:改善c程序代码的125个建议》——建议14:适当地使用位操作来提高计算效率-阿里云开发者社区

开发者社区> 华章计算机> 正文

《编写高质量代码:改善c程序代码的125个建议》——建议14:适当地使用位操作来提高计算效率

简介:
+关注继续查看

本节书摘来自华章计算机《编写高质量代码:改善c程序代码的125个建议》一书中的第2章,建议14,作者:马 伟 更多章节内容可以访问云栖社区“华章计算机”公众号查看。

建议14:适当地使用位操作来提高计算效率

我们知道,程序中的所有数据在计算机内存中都是以二进制的形式进行存储的,数据的位是可以操作的最小数据单位,位操作就是直接对整数在内存中的二进制位进行操作。因此,在理论上,我们可以通过“位运算”来完成所有的运算和操作,从而有效地提高程序运行的效率。
C语言中提供了&(与)、 |(或)、 ^(异或)、~(取反)、>>(右移)、<<(左移)6种位操作符。我们可以在程序中合理地使用这些位操作符号来提高程序的运行效率,例如,建议12-4中介绍的利用移位运算来提高乘除法与求模运算。对于下面的示例代码:

int x=0;
int y=0;
x = 257 /8;
y = 456 % 32;

我们可以通过位操作符将其修改成如下形式:

int x=0;
int y=0;
x = 257 >>3;
y = 456 - (456 >> 4 << 4);

这样就可以使程序在性能上得到一定提升。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
《编写高质量代码:改善Objective-C程序的61个建议》——导读
我一直在思考,如何才能编写出高质量、优秀的代码,我也在不停地探寻,希望找出类似于武侠小说中所说的武功秘籍,在编写代码一途可以帮助大家走“捷径”从而达到事半功倍的效果。
780 0
Java工程师该如何编写高效代码?
阿里妹导读:世界上只有两种物质:高效率和低效率;世界上只有两种人:高效率的人和低效率的人。——萧伯纳 同理,世界上只有两种代码:高效代码和低效代码;世界上只有两种人:编写高效代码的人和编写低效代码的人。如何编写高效代码,是每个研发团队都面临的一个重大问题。 本文作者根据实际经验,查阅了大量资料,总结了"Java高效代码50例",让每一个Java程序员都能编写出"高效代码"。
6510 0
计算机字符编码总结
ASCII,GB2312, GBK,GB18030,UNICODE,UTF8等计算机编码方式介绍。
54 0
《逻辑与计算机设计基础(原书第5版)》——1.5 十进制编码
本节书摘来自华章计算机《逻辑与计算机设计基础(原书第5版)》一书中的第1章,第1.5节,作者:(美)M.莫里斯·马诺(M. Morris Mano)著, 更多章节内容可以访问云栖社区“华章计算机”公众号查看。
755 0
Android* 操作系统上的应用程序远程调试
Android* 操作系统上的应用程序远程调试 robert-mueller-... 于 星期日, 16/02/2014 - 20:00 提交 Android* 操作系统应用程序远程调试 Android* Debug Bridge Android Debug Bridge (ADB) 是一种命令行工具,可处理主机上的调试程序(通常为 GDB* 或 DDMS*(Dalvik* 调试监测程序服务器)以及 ADT)和目标上运行的 Android* 映像之间的调试通信。
1123 0
10059
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载