JAVA基础补充-负数右移运算测试.doc_第1页
JAVA基础补充-负数右移运算测试.doc_第2页
JAVA基础补充-负数右移运算测试.doc_第3页
全文预览已结束

VIP免费下载

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

/负数右移运算测试示例:public class ZF public static void main(String args)int x=-5;int y=x1;int z=x1;System.out.println(x=+x+ y=+y+ z=+z);/ 1、当x=-5 时,右移1位后,问 y 和 z 的值是什么?/ 2、当x=-6 时,右移1位后,问 y 和 z 的值是什么?/ 3、当x=-7 时,右移1位后,问 y 和 z 的值是什么?/ 4、当x=-7 时,右移2位后,问 y 和 z 的值是什么?/ 请问最后结论是什么?/ (对于“”有符号右移运算,其规则是:当负数右移时,符号位的1不参与移位;在移位中当移出去的是数字1时,则最后结果应加1;当移出去的是数字0,则最后结果不加1。/ 对于“”无符号右移运算,其规则是:当负数右移时,它是以补码方式参加向右移位。/ 左边移出的空位被0;不论右边移出去的是0还是1,则最后结果均不加1。)/负数右移运算测试示例:package pk.aa;public class TestMoveBit public static void main(String args)int x=-5;/* “” 为有符号的右移,它是以原码方式参加向右移位。 * 负号位的1不参与移位;在移位中当移出去的是数字1时, * 则最后结果应加1;当移出去的是数字0,则最后结果不加1 */int y=x1;/* “” 为无符号的右移,它是以补码方式参加向右移位。 * 左边移出的空位被0;不论右边移出去的是0还是1,则最后结果 * 均不加1。 */int z=(x1);System.out.println(x=+x+ y=+y+ z=+z);int s=0;for(int i=2; i1; * * 原码:10000000 00000000 00000000 00000101 * 右移1位后:1X000000 00000000 00000000 00000010 * + 1 * - * 1X000000 00000000 00000000 00000011 * 结果为: -3 * * int x=-5; * int y=x1; * * 原码:10000000 00000000 00000000 00000101 * 反码:11111111 11111111 11111111 11111010 * 补码:11111111 11111111 11111111 11111011/说明:补码即为无符号数,即是正数 * 右移1位后:X1111111 11111111 11111111 11111101 * 空位补0后:01111111 11111111 11111111 11111101 * - * 结果为:2147483645 * */ 1、当x=-5 时,右移1位后,问 y 和 z 的值是什么?/ 2、当x=-6 时,右移1位后,问 y 和 z 的值是什么?/ 3、当x=-7 时

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论