本个例子中,65536超过了char 型的最大值,强制类型转换是怎么工作的?减1换成65536么?

本个例子中,65536超过了char 型的最大值,强制类型转换是怎么工作的?减1换成65536么?

请尽量清晰完善地描述问题,以便大家给予专业的回复。

正在回答 回答被采纳积分+1

登陆购买课程后可参与讨论,去登陆

1回答
好帮手慕珊 2017-02-19 14:37:09

强制转换并不是直接减1,而是会做一些复杂的转换,这个过程是比较复杂的,由java编译环境自动完成。一般情况下,我们不去关注具体转换过程,更多的关注在什么情况下转换。祝学习愉快!

  • 是通过二进制转换再截取么?
    2017-02-19 14:50:05
  • 应该是这样的,char类型的最大值是65535,而65536是2的16次方,是17位的,65536强制转换后的编码值为0,因此是把最高位截取了。
    2017-02-19 15:25:31
问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师