short a=5;//为啥不报错?

short a=5;//为啥不报错?

short a=5;//通过 ,5默认为int类型,4个字节的int类型>2个字节的short类型,不是说大类型转小类型要加写转换的吗?如 short a=(short)5;可没加写转换,也没报错为什么呢 ?
short s=5L;//报错  //这个是因为long型实太大了?可5转化为二进制也就是0101,4个bit容量的数值为什么就不能装入2个byte容量的short类型的变量s中呢?

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

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

1回答
好帮手慕雪 2017-11-13 18:56:02

1)例如short s=32768;这就报错了。不管是int 还是short的数据它都没有明显的标志,只能靠范围和变量的类型来确定。它不像float f=5f;2)你改成short s=(short)5L;就可以了。祝:学习愉快

问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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