自学编程之路——位运算

来源:互联网 发布:应变数据采集仪 编辑:程序博客网 时间:2024/06/07 07:52

本人在自学编程过程中,有时在阅读一些代码时看到了一些数字位运算。由于缺乏相关的基础知识,阅读起来有一定的困难,有的地方感觉莫名奇妙。后来通过上网查阅相关资料,阅读了相关的博客文章,汇总下来自己的一些理解。

首先,说说为何会有位运算这个东西。我们知道,所有的数字信息在计算机中均会以二进制的形式进行存放。例如,一个十进制下的数字20,在二进制下的值为(00010100),数字30在二进制下的值为(00011110)。那么,我们想得到20和30的和,那么计算机中的便会基于二进制做加法:

0 0 0 1 0 1 0 0
0 0 0 1 1 1 1 0
——————
0 0 1 1 0 0 1 0

也就是说,我们日常习惯采用十进制进行运算,而计算机中则习惯采用二进制进行运算。那么,为何在写代码的时候要使用到位运算,而不直接采用更直观的加减乘除呢?
因为按位运算的恰当使用会带来时间和空间效率上的提高。