已经超出char的范围了,为什么还要强制类型转换成char呢?

已经超出char的范围了,为什么还要强制类型转换成char呢?

正在回答

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

3回答

当超出char的数据范围后,会进行类型自动转化,转为取值范围大于char的数据类型,而此时该数据又定义为char类型,因此需要进行强制类型转化。祝学习愉快~

  • 全是肉 提问者 #1
    懂了! 谢谢回答~谢谢
    2017-09-15 13:07:29
  • 那请问为什么我写char ch=35536,下面也写了强制转换的语句char ch1=(char)35536会报错
    2017-12-18 15:20:12
  • char ch=(char)35536这句也需要这么写。祝学习愉快~
    2017-12-18 16:07:40
慕无忌5903725 2017-12-26 16:33:14

超出了数据范围后,不进行强转会报错的啊,简单的说向上类型转换可以自动转行,但是向下类型转换由于有范围溢出的风险,必须进行强转。

慕九州5094561 2017-10-20 04:58:59

老师 过了char的值强制转化成char 那会返回什么值呢?

  • 这个转换过程是比较复杂的,比如要先转换成二进制,然后再转换成补码,然后加1。一般我们很少关注底层的具体实现,知道char类型超过范围后可以进行强制转换就可以了。
    2017-10-20 09:47:57
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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