为了账号安全,请及时绑定邮箱和手机立即绑定

强制类型转换 在评论中看见了两种特殊情况 求指教

在强制类型转换时,要注意边界数风险问题,因此存在两种特殊情况(也是考点所在) 。
特殊1:源数据的数据位变为目标数据的符号位
 int i = 129;
byte b=(byte)i;
那么此时b=?
特殊2:大数据的数据超过了小数据的位数
int i = 257;
byte b =(byte)i;
那么此时b=?

正在回答

3 回答

所以当你的int是 0到256时,转换后的byte 值为当前int值减去256
比如:int num1=129;那么转化后为-127

其他情况也是和256有关系,倍数关系的加减

0 回复 有任何疑惑可以回复我~
#1

Hanabie 提问者

非常感谢!
2017-02-03 回复 有任何疑惑可以回复我~
#2

喵喵E

不是很明白能详细说下怎么变的吗?
2018-03-10 回复 有任何疑惑可以回复我~

1、b=-127

2、b=1

0 回复 有任何疑惑可以回复我~

边界性问题你得先写出那个数的补码,然后还得考虑有没有溢出的问题


0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
Java入门第一季(IDEA工具)升级版
  • 参与学习       1165650    人
  • 解答问题       17587    个

0基础萌新入门第一课,从Java环境搭建、工具使用、基础语法开始

进入课程

强制类型转换 在评论中看见了两种特殊情况 求指教

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信