各种数据类型存储最大值

intlong都是用32位来存储最大值和最小值分别2147483647109), -2147483648

long long 是用64位来存储最大值和最小值分别为92233720368547758071018),-9223372036854775808

float的最大值和最小值分别为3.40282e+0381038),1.17549e-03810-38);

double的最大值和最小值分别为1.79769e+30810308),2.22507e-30810-308)。


根据组成原理中的内容,其中int和long采用补码存储,231-1即为最大能表示的范围,long long类型同理,c++中64位可用 __int64来定义。

float 和 double两种类型的存储遵循IEEE-754

符号位 阶码 尾数


其中符号位表示正负,并与尾数隔开;阶码则用移码来表示(移码相当于真值加上一个常数7FH,3FFH等);尾数部分规格化来表示,即非“0”的有效位最高位总是“1”,再IEEE中此1省略。

经过计算,我们可知double最大值确实可以到10308,尽管精度可能非常小

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值