欢迎来到天天文库
浏览记录
ID:10666303
大小:34.00 KB
页数:2页
时间:2018-07-07
《强化实验一(移位运算与整数强_...》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、强化实验一(移位运算与整数强制转换)30701125楼强计算机07041.调试运行以下程序并回答问题:classTest{publicstaticvoidmain(String[]args){System.out.println("第1段测试代码输出");System.out.println(1>>32);System.out.println(1L>>32);System.out.println("第2段测试代码输出");System.out.println(10>>5);System.out.println(-10>>5);System.out.print
2、ln("第3段测试代码输出");System.out.println(1<<31);System.out.println(1L<<31);System.out.println(1L<<63);System.out.println("第4段测试代码输出");System.out.println(1<<100);System.out.println(1L<<100);System.out.println("第5段测试代码输出");System.out.println(7<<2);System.out.println(7<<1<<1);System.out.pri
3、ntln("第6段测试代码输出");intn=34;intq=7;System.out.println(q<4、n((short)65535);System.out.println((byte)-129);System.out.println((byte)129);System.out.println((byte)128);}}(1)分析第1段代码,为何输出会不同?因为1和1L的数据类型不同。1是int类型,右移0位,1L是long类型,右移32位;(2)分析第2段代码,正整数与负整数右移的最小值是什么?正整数是0,负整数是-1;(3)分析第3段代码,三个语句输出为何不同?数据类型不同,左移的位数不同;(4)分析第4段代码,两个语句输出为何不同?前者是int类型,移动5、4位,后者为long类型,移动36位;(5)分析第5段代码,两个移位运算是否等价?等价(6)分析第6段代码,q<6、e类型就是负数了;相反第八位是0时,转换为byte类型就是正数了。当int类型的数字第十六位是1时,转换为short类型就是负数了;相反第十六位是0时,转换为short类型就是正数了。数n对大于n%256=128小于n%256=255成立的时候,int转换成byte会正变负;数n对大于n%65536=32768小于n%65536=65535成立的时候,int转换成short会正变负;数n对大于n%256=-256小于n%256=-129成立的时候,int转化成byte会负变正;数n对大于n%65536=-65535小于n%65536=-32769成立的时候,7、int转化成short会正变负;
4、n((short)65535);System.out.println((byte)-129);System.out.println((byte)129);System.out.println((byte)128);}}(1)分析第1段代码,为何输出会不同?因为1和1L的数据类型不同。1是int类型,右移0位,1L是long类型,右移32位;(2)分析第2段代码,正整数与负整数右移的最小值是什么?正整数是0,负整数是-1;(3)分析第3段代码,三个语句输出为何不同?数据类型不同,左移的位数不同;(4)分析第4段代码,两个语句输出为何不同?前者是int类型,移动
5、4位,后者为long类型,移动36位;(5)分析第5段代码,两个移位运算是否等价?等价(6)分析第6段代码,q<6、e类型就是负数了;相反第八位是0时,转换为byte类型就是正数了。当int类型的数字第十六位是1时,转换为short类型就是负数了;相反第十六位是0时,转换为short类型就是正数了。数n对大于n%256=128小于n%256=255成立的时候,int转换成byte会正变负;数n对大于n%65536=32768小于n%65536=65535成立的时候,int转换成short会正变负;数n对大于n%256=-256小于n%256=-129成立的时候,int转化成byte会负变正;数n对大于n%65536=-65535小于n%65536=-32769成立的时候,7、int转化成short会正变负;
6、e类型就是负数了;相反第八位是0时,转换为byte类型就是正数了。当int类型的数字第十六位是1时,转换为short类型就是负数了;相反第十六位是0时,转换为short类型就是正数了。数n对大于n%256=128小于n%256=255成立的时候,int转换成byte会正变负;数n对大于n%65536=32768小于n%65536=65535成立的时候,int转换成short会正变负;数n对大于n%256=-256小于n%256=-129成立的时候,int转化成byte会负变正;数n对大于n%65536=-65535小于n%65536=-32769成立的时候,
7、int转化成short会正变负;
此文档下载收益归作者所有