负数原码求补码: 逐位取反再加1
负数补码求原码: 减1再逐位取反
运行结果为7
强制转换超出范围
结果是-126
解析 130的二进制是00000000 00000000 00000000 10000010
运算的时候是以补码进行运算 10000010是-126补码
减1求-126反码 10000001
除符号位其余逐位取反 得-126原码 11111110
结果是44
解析 300的二进制是 00000000 00000000 00000001 00101100
运算的时候是以补码进行运算00101100是44的补码
与其原码相同
上面的会提示错误: 可能会损失精度
第三行报错: 可能损失精度 右边b+1是byte和int进行混合运算会提升为int型
而第二行两句等价
第一句可能会损失精度
原文:https://www.cnblogs.com/albieh/p/12179071.html