A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

云淡风轻517

中级黑马

  • 黑马币:

  • 帖子:

  • 精华:

© 云淡风轻517 中级黑马   /  2015-4-26 13:42  /  614 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

1<<35为什么等价于于1<<3?

6 个回复

倒序浏览
本帖最后由 l763631191 于 2015-4-26 13:59 编辑

1/2的35次幂 =余数还是1     1/2的3次幂=余数1   结果都是1   也就是 1都比右边的小,余数都是取左边的1
回复 使用道具 举报 0 1
l763631191 发表于 2015-4-26 13:58
1/2的35次幂 =余数还是1     1/2的3次幂=余数1   结果都是1   也就是 1都比右边的小,余数都是取左边的1 ...

你说的好像是%运算

  1. class Demo
  2. {
  3.         public static void main(String[] args)
  4.         {
  5.                 System.out.println(1<<3);
  6.                 System.out.println(1<<35);
  7.                 System.out.println(1<<36);
  8.         }
  9. }


  10. 结果:是 8 ,8 ,16
复制代码
回复 使用道具 举报
一个int类型是4个字节,32个二进制位,1<<35次相当于1<<32位回到起始位置,再1<<3所以两者是等价的
回复 使用道具 举报
呆呆呆呆孔 发表于 2015-4-26 14:25
一个int类型是4个字节,32个二进制位,1

谢谢 了解了 开始没想明白
回复 使用道具 举报
本帖最后由 l763631191 于 2015-4-26 14:47 编辑

说错了,是除运算
回复 使用道具 举报
Mr7952 中级黑马 2015-4-26 16:25:59
7#
int类型32位二进制,35相当于转了一圈回来又到第3位,所以等价
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马