• 【设为首页】
  • 【收藏闪客居】
当前位置:主页>FLASH AS 编程>AS基础篇>AS 3.0>文章内容
  • 位操作学习心得一(as3.0)
  • 来源:swfdong.com 作者:闪客小东 2008-10-09 【


百度百科中,取一个二进制末K位的操作是:
取末k位 | (1101101->1101,k=5) | x and (1 shl k-1)
其中and = &    shl = <<


在ActionScript3中,取末k位的操作这样是不行的,需要重新写。
那么仔细考虑一下,取末N位的操作应该如何取呢?

先来看看,位操作中&(and)操作符的应用:
1&0=0
0&0=0
所以呢:
001&000=000
100&111=100
101&011=001

如果位数不同呢?
101&0=0
101&1=1
101&10=00
101&11=01
101011&111=011=11

于是我们取x最后n位的办法就出来了:
x&1111111(n个1)

在AS3中具体的实现代码为:
x&(~(~0<<n));

再简化一下:
x&(~(-1<<n));

在很多AS3程序的优化中,这个操作可是很有用的:-)



上一篇:AS3中如何深拷贝(deep copy)对象   下一篇:设计模式—策略模式(学习笔记)
  • 用户名:新注册) 密码: 匿名评论
  • 评论内容:(不能超过250字,需审核后才会公布,请自觉遵守互联网相关政策法规)

Copyright © 2006-2008 flashas.net All Rights Reserved.
网站内容咨询: admin#flashas.net (#为@) 联系QQ:40777822 浙ICP备06033001号
(本网站最佳浏览解析度为1024*768, 建议使用IE 6.0或以上版本浏览器。)