开发小知识

99 阅读1分钟

大多数开发过程中基本都是面向业务开发,因此很少去思考及探索最优解,本篇也仅仅是记录一些自己不太熟悉的点。 在翻看Android源码是会遇到很多位移元算,比如MeasureSpec 位移运算:

“<<”运算: a<<b,表示a转为二进制后左移b位(在后面添加 b个0)。例如100的二进制表示为1100100,100左移2位后(后面加2个零):1100100<<2 =110010000 =400,通常会被拿来进行表示乘2的操作,即a<<b的值实际就是a乘以b的b次方,例如1<<16 -1,可以用来表示65535。

“>>”运算:

和<<相似,a>>b表示二进制右移b位(去掉末b位),相当于a除以2的b次方(取整),即a/4 = a>>2