Ios long值越界???int? long? long int? long long? long long int?

    今天做项目遇到一个问题,一个17亿的数字加上一个6亿的数字越界了……,然后发现有符号整形最大值是21亿,无符号最大值是42亿。

    然后果断把int类型改用long类型存储,奇迹出现了,竟然又越界了……,越的跟整型一样……你妹啊……

    

    Google打不开,然后百度了一下……利马……百度的智商一下就暴露了,根本搜不到想要的结果。果断转360搜索,还挺给力。

    于是发现Objective - c基本数据类型有:    int     /    long    /   long int   /   long long    /    long long int    /。顿时我就凌乱了……

    废话少扯了,还有很多事情要做,这里简答的说一下。在ObjectiveC中int与long的长度由操作系统决定,通常情况下int 的长度与long 的长度就是一样的,比如IOS!也就是说在IOS里int == long!

    然后long 其实就是 long int的简写,同理 long long就是 long long int的简写。

 

    综上所述,在IOS中:

    int == long == long int

    long long int == long long == int * 2


    也就说我为了实现存储超过42亿以上的数字必须使用long long 类型!

    NSLog(@"%li",xxx);

    NSLog(@"%lli",xxx);

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值