《编写高质量代码:改善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);

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

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

分享: