最近在看《JAVA解惑》,看到移位操作符这一块感觉比较陌生,特意写一篇博客记录一下。
由于int型数值占4个字节,所以它是2的32次方。由于32是2的5次方。而对于long型数值占8个字节,所以是2的64次方。由于64是2的6次方。
结论:对于int型数值,移位操作符只使用其右操作数的低5位做为以为长度(移位长度介于0到31)。对于long型数值,移位操作符只使用其右操作数的低6位做为以为长度(移位长度介于0到63)。
看下面的程序:
int count=0; int num=-1; for(int i=0;i<=32;i++){ System.out.println(num<<i); System.out.println("count is: "+(count++)); } //运行结果: -1 count is: 0 -2 count is: 1 -4 count is: 2 -8 count is: 3 -16 count is: 4 -32 count is: 5 -64 count is: 6 -128 count is: 7 -256 count is: 8 -512 count is: 9 -1024 count is: 10 -2048 count is: 11 -4096 count is: 12 -8192 count is: 13 -16384 count is: 14 -32768 count is: 15 -65536 count is: 16 -131072 count is: 17 -262144 count is: 18 -524288 count is: 19 -1048576 count is: 20 -2097152 count is: 21 -4194304 count is: 22 -8388608 count is: 23 -16777216 count is: 24 -33554432 count is: 25 -67108864 count is: 26 -134217728 count is: 27 -268435456 count is: 28 -536870912 count is: 29 -1073741824 count is: 30 -2147483648 count is: 31 -1 count is: 32
惊奇地发现若让int型数值移位32(-1<<32),竟然等于自身。
但是如果这样:-2147483648<<1; 就会得到-1左移位32的结果。
还有一点:会经常被误解就是:很多人会认为负移位长度的右移操作可以起到左移操作的作用。
就是说对于 1>>-1,可能会被误认为是左移一位。
事实是右移操作符总是起到右移的作用,而左移操作符总是起到左移操作符。负的移位长度只保留低5位而且去除其他位转换成正的移位长度。比如将一个int数值左移,移位长度是-1,那么移动效果就是它被左移了31位。
对于int型数值,移动长度对32取余数,对于long型数值,移动长度对64取余数。
相关推荐
探寻Java源码中的设计模式
探寻光伏行业“确定性”系列之二:观单晶替代多晶之史,推双面双玻渗透提速.pdf
大数据下高职教育的发展探寻.pdf
20210814-国信证券-星源材质-300568-探寻星源盈利与成长的确定性.pdf
探寻军工无人武器领导者发展路径报告(26页),资源名称:探寻军工无人武器领导者发展路径报告(26页)探寻军工无人武器领导者发展路径.zip...
口腔医疗服务行业深度报告:详解口腔专科市场,探寻连锁化率提升之路(2021)(45页).pdf
闵恩泽院士——技术自主创新之路探寻.ppt 怎样找到自主创新的正确思想和工作方法呢? 回顾国内外石化技术发明的历史 总结规律,指导未来
探寻新三板艺术教育市场专题报告:掘金艺培土壤,浇灌艺术之花(38页),资源名称:探寻新三板艺术教育市场专题系列一:掘金艺培土壤,浇灌艺术之花(38页)探寻新三板艺术教育市场专题系列一:掘金艺培土壤,浇灌...
Andorid APK反逆向解决方案:梆梆加固原理探寻-CSDN
降低品质成本有效途径探寻
国际环保巨头系列报告之五:探寻日本环保产业发展历程.pdf
探寻5G时代手机厂商智能终端操作系统的发展机会.pdf
本研报来源于华夏幸福研究院。本报告从新基建的提出及意义、数字新基建:5G网络、数字新基建:计算存储、城市基础设施建设(交通)、公共服务设施建设(医疗),五个方面探寻新基建。
教案27 项目8 平台化快速部署Hadoop 第1部分 探寻大数据平台及基础环境配置.pdf教案27 项目8 平台化快速部署Hadoop 第1部分 探寻大数据平台及基础环境配置.pdf教案27 项目8 平台化快速部署Hadoop 第1部分 探寻大数据...
教案27 项目8 平台化快速部署Hadoop 第1部分 探寻大数据平台及基础环境配置.docx教案27 项目8 平台化快速部署Hadoop 第1部分 探寻大数据平台及基础环境配置.docx教案27 项目8 平台化快速部署Hadoop 第1部分 探寻...
从iplog参数分析,使用TCP/IP协议来分析问题,如何解决大量数据包重传的问题。
海外物流研究系列之二:复盘DHL,探寻顺丰供应链未来.pdf
历史深度学习应关注的五个关键能力——基于培育历史学科核心素养的有效路径探寻.pdf
20210223-西南证券-万科A-000002-住宅开发探寻蓝海领域,物业管理打造赋能平台.pdf