2<<3 相当于 22^3 = 28 = 16
log.info("Integer.MIN_VALUE is {} ",Integer.MIN_VALUE);
log.info("op 1<<3 is {} ",1<<3);
log.info("op 1<<2 is {} ",1<<2);
log.info("op 1<<1 is {} ",1<<1);
log.info("op 1<<0 is {} ",1<<0);
log.info("op 1<<-1 is {} ",1<<-1);
log.info("op 1<<-2 is {} ",1<<-2);
log.info("op 1>>1 is {} ",1>>1);
log.info("op 1>>2 is {} ",1>>2);
log.info("op 2<<3 is {} ",2<<3);
log.info("op 2<<2 is {} ",2<<2);
log.info("op 2<<1 is {} ",2<<1);
log.info("op 2<<0 is {} ",2<<0);
log.info("op 2<<-1 is {} ",2<<-1);
log.info("op 2<<-2 is {} ",2<<-2);
log.info("op 2>>1 is {} ",2>>1);
log.info("op 2>>2 is {} ",2>>2);
运算结果:
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - Integer.MIN_VALUE is -2147483648
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 1<<3 is 8
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 1<<2 is 4
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 1<<1 is 2
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 1<<0 is 1
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 1<<-1 is -2147483648
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 1<<-2 is 1073741824
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 1>>1 is 0
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 1>>2 is 0
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 2<<3 is 16
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 2<<2 is 8
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 2<<1 is 4
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 2<<0 is 2
17:17:25.774 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 2<<-1 is 0
17:17:25.775 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 2<<-2 is -2147483648
17:17:25.775 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 2>>1 is 1
17:17:25.775 [main] INFO my.rabbitmq.test.filechannel.NioTest - op 2>>2 is 0