首页 > 编程语言 > 详细

Java基本数据类型(强制转换数据溢出情况)

时间:2020-12-08 09:34:54      阅读:19      评论:0      收藏:0      [点我收藏+]

强制转换数据溢出情况

     举例: int转byte

        int exampleB2 = 129;   //129往前移两位得-127
        System.out.println((byte)exampleB2);  //-127
        int exampleB3 = -129;   //-129往前移一位得127
        System.out.println((byte)exampleB3);  //127
        int exampleB4 = 256;   //256往前移(256-127=129)位,即0
        System.out.println((byte)exampleB4);  //0

   分析:

    想象这个范围是在数轴上一直连续的区间

     技术分享图片

 

    以中间这个区间为起始区间,当int = 129时,超出了区间(129-127 = 2)位,在对应的连续区间里的位置是第二位,第一位是-128,第二位是-127,所以此时强制转换打印的值是-127,而不是129

    技术分享图片

 

    以中间这个区间为起始区间,当int = -129时,超出了区间(-128 - (-129) = 1)位,在对应的连续区间里的位置是第一位,数一位,第一位是127,所以此时强制转换打印的值是127,而不是129

    技术分享图片

Java基本数据类型(强制转换数据溢出情况)

原文:https://www.cnblogs.com/jadexu07/p/14100655.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!