美文网首页
工作笔记(四)

工作笔记(四)

作者: overflow_e4e4 | 来源:发表于2019-08-20 11:52 被阅读0次

今天看到一个移位操作符的运用1<<-1,一般移位操作数都是正数,看到后这个操作数是-1后先是惊讶,然后陷入思考,因为这段代码并没有语法上错误,那么<<-1到底是什么操作?

1. 猜想

是不是等同于1>>1,我猜想左移-1位就是右移1位,看似很合理,于是写了一段测试代码:

 public static void main(String[] args) {
        int a =6;


        System.out.println(a<<-2);

        System.out.println(a>>2);
    }

输出结果:


输出结果

从结果看,猜想是错误的。

2. 答案

If the promoted type of the left-hand operand is int, then only the five lowest-order bits of the right-hand operand are used as the shift distance. It is as if the right-hand operand were subjected to a bitwise logical AND operator & (§15.22.1) with the mask value 0x1f (0b11111). The shift distance actually used is therefore always in the range 0 to 31, inclusive.

这段话意思是当左手操作数是int时候,int总有32位,所以右手操作符总在031之间,并且以二进制0b11111为掩码,所以此时-1相当于31

问题解决了:1<<-1 等同1<<31

相关文章

  • 工作笔记四

    react-native 使用百度地图: 1.发布版sha1值的获取: 命令行进入JDK的bin目录:运行以下命令...

  • 工作笔记(四)

    工作笔记四 第四个工作笔记 1、JS的错误处理 2、移动端300ms点击延迟 产生原因:浏览器需要进行一次缩放判断...

  • 工作笔记(四)

    今天看到一个移位操作符的运用1<<-1,一般移位操作数都是正数,看到后这个操作数是-1后先是惊讶,然后陷入思考,因...

  • 工作四天笔记

    这份工作不难,就是很琐碎。多熟悉熟悉流程一切就会慢慢的越来越好了。要自己开始多思考,不能什么都依靠同事帮忙。 要快...

  • 《高效笔记术》第一部分 电子笔记(二)

    第四课 妙用电子笔记术,让工作学习效率提升200% (一).通过纸质笔记与电子笔记的对比,引出电子笔记 ...

  • D061+1组阿佳+《高效人士用超级笔记术》读书笔记

    今天读《高效人士用超级笔记术》P207—P231,第四章 达人笔记,后记。 观赏笔记达人的笔记整理术。工作能干的人...

  • 躺着看书

    读书,写笔记 最近我一个朋友工作的地方要求他们每年读四本与工作相关的书籍,发了笔记本,要求认真书写读书笔记,并且将...

  • 找工作笔记(四)

    离开红酒公司,小孙说:“这家也是前两三年能养活自己就不错了。”那还是去人才市场看看吧。 走到人才市场外面,已经是十...

  • 工作流笔记(四)

    Give the reachability graph for Figure 4.6.

  • 我说,嘿!再见了,那时,疯狂

    前两天整理东西,翻出了好多笔记本,大小各异,薄厚不一,大学三年,记录的四大笔记:读书笔记,工作笔记,实习笔记,比赛...

网友评论

      本文标题:工作笔记(四)

      本文链接:https://www.haomeiwen.com/subject/wpiusctx.html