Java 整型数据溢出探索 计算结果值

Java 整型数据溢出探索

本博文只研究 int 转 byte 其他以此类推

public class JavaDemo {
    public static void main(String[] args) {
        /**
         *  byte 的范围    -128 到 127
         */
        // 利用包装类查看大小范围
        System.out.println(Byte.MIN_VALUE);  // -128
        System.out.println(Byte.MAX_VALUE);  // 127
        int a1 = -300;
        byte b1 = (byte) a111;
        /**
         *  具体 b1 结果是多少呢?
         *  -300 /(-128) = 2
         *  b1 = -300 - (-128)*2 = -44
         */
        System.out.println(-300 - (-128)*2);  // -44
        System.out.println(b1);  // -44
        int a2 = 400;
        byte b2 = (byte) a2;
        /**
         *  具体 b2 结果是多少呢?
         *  400 大于最大范围 127, 则
         *  400 / (-128) = -3  大于最大范围时需要再此基础上 -1
         *  400 - (-128)*(-3-1)
         */
        System.out.println(b2);  // -112
        System.out.println(400 - (-128)*(-3-1));  // -112  
	}
} 

更多溢出详解

Java数值溢出问题以及简单的算法实例

java——强制类型转换数据溢出的结果计算

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值