|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
手机用到的是用j2me所编出来的小程序。Java中的位操纵指定包含:&|~>><>>,后面几个都十分复杂,次要是觉得操纵对照简单堕落.
1.<<
逻辑左移,右侧补0,标记位和其他位一样.
负数:
x<<1一样平常相称于2x,可是大概溢出.
溢出局限:230~(231-1)二进制暗示010000...000到01111....1111,移位后最高为变成1了,酿成正数了.
正数:
x<<1一样平常也相称于2x,也有大概溢出.
溢出局限:-231~-(230+1)二进制暗示10000...000到101111...1111,移位后最高为酿成0了,酿成负数了.
2.>>
算术右移,和下面的不合错误应,为负数时右边补0,为正数时右边补1.
x>>1,相称于x/2,余数被舍弃,由于这个是减少,以是不会溢出.
不外有一点要注重:-1右移几位都是-1.
别的舍弃的余数是正的,3>>1=1舍弃的余数是1.
-3>>1=-2舍弃的余数也是1,而不是-1.
关于负数x>>1和x/2相称
关于正数x>>1和x/2纷歧定相称.
3.>>>
逻辑右移,这个才是和<<对应的
这个把标记位一同挪动,右边补0
关于负数,>>>和>>是一样的
关于正数,右移以后就酿成负数了.
可使用Integer.toBinaryString(inti)来看01比特,加倍直不雅.
令人可喜的是java现在已经开源了,所以我想我上述的想法也许有一天会实现,因为java一直都是不断创新的语言,每次创新都会给我们惊喜,这也是我喜欢java的一个原因。 |
|