为什么int类型的表示范围大于char类型的范围?

为什么int类型的表示范围大于char类型的范围?

int表示的是整型数值

char表示字符型和可以表示小65535以内的数值

那不应该是char类型表示的范围比int类型的范围大吗?

正在回答

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

2回答

同学你好,

float和long类型的底层存储的方式不同,实际是float表示的数据类型比long的范围要大。所以,在操作测过程中,将占空间小的float类型数据赋值给long类型时需要用强制转化。

范围大小除了看字节的大小,还要了解数据的底层存储方式。

一般情况下,数字表示范围小的数据类型可以自动转换成范围大的数据类型,如char类型转int类型,int类型转long类型。

祝学习愉快~

慕丝1539783 2020-06-16 20:32:13

int类型占4个字节, 可以表示的范围是   负2的31次方   到   正2的31次方-1

char类型占只2个字节,你说哪个大?

  • 提问者 慕婉清2005302 #1
    长整型long占8个字节 单精度浮点型float占4个字节 根据你说的就是,长整型表示的范围应该比单精度浮点型要大, 可以操作测过程中是将占空间小的float赋值给long类型产量时需要用强制转化。 也就是说范围大小并不是看字节的大小
    2020-06-16 21:09:56
  • 慕丝1539783 回复 提问者 慕婉清2005302 #2
    因为float是小数,计算机的世界里没有小数,所以是用1/2+1/4+1/8+…这样的形式去无线逼近一个小数,转换的时候,计算方式不同。 而char和int都是整数范畴,小的转大的,不用强制转。
    2020-06-16 21:31:35
  • 简单点就是说,小数转整数,必然存在精度丢失问题,所以要求你强制转。 小整数转大整数,则没有精度丢失,不需要强制转。
    2020-06-16 21:38:54
问题已解决,确定采纳
还有疑问,暂不采纳

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

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

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

在线咨询

领取优惠

免费试听

领取大纲

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