登陆购买课程后可参与讨论,去登陆吧
同学你好,是指如下这样吗?
如果是,char最大取值范围是65535,65536超出该范围时,会默认匹配ASCII码表中的字符,然后转换为int类型时会将字符对应的数值输出
祝学习愉快~
同学你好,1、char类型最大范围是65535,当char类型的定义值超过65535后,编译会标错,需要强转为char类型,强转过程中会出现精度丢失等问题,也就是我们说的数据丢失的问题,所以可能会出现一些误差,得不到原本需要的结果!所以65536强转后,并不一定得到的是65535这个结果。
2、当65536强转后,输出的字符可能并不能识别,所以最后强转的结果转为int类型后,就是输出了对应空的字符内容,在ASCII码表中,0对应的就是空(也可以说是null)。
注:有的电脑得到的结果就是空,因为这个和字符编码以及操作系统都有关系,比如,老师在自己的电脑中尝试输出,就是空和0。
同学你好,
1、因为赋值给int类型,所以会默认将其转化为ascii码对应的数值。可以理解为一种规定,这里同学记住就可以
2、Unicode与ASCII一样也是一种字符编码方法,它占用两个字节(0000H—FFFFH),容纳65536 个字符,这完全可以容纳全世界所有语言文字的编码。在Unicode 里,所有的字符都按一个字符来处理, 它们都有一个唯一的Unicode 码,这就解决了ASCII的信息冲突问题,且Unicode编码其前128个和ASCII一模一样,但是从128开始包含更多字符。
同学你好,老师另一个问答中回复了你,记得前去查看:
https://class.imooc.com/course/qadetail/292482
同学你好,很抱歉呐~如下为同学重新解答:
1、n输出0,是对应ascii码表进行输出的,这里同学记住即可
2、char c=(char)65536; 由于65536超过了char类型的表示范围,所以需要进行强制转换,转换的过程计算机会经过一系列运算,得到一个在char类型表示范围内的整数,那么c的输出结果就是这个转换后的整数对应的字符,即同学上述图中的方框
注:有的电脑得到的结果是空,因为这个和字符编码以及操作系统都有关系
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
登录后可查看更多问答,登录/注册
综合就业常年第一,编程排行常年霸榜,北上广深月薪过万! 不需要基础,无需脱产即可学习,只要你有梦想,想高薪! 全新升级:技术栈升级(包含VUE3.0,ES6,Git)+项目升级(前后端联调与功能升级)
79 1
56 1
9 1
14 1
56 9
在线咨询
领取优惠
免费试听
领取大纲
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星