Ios long值越界???int? long? long int? long long? long long int?
发布日期:2021-09-28 18:46:42 浏览次数:5 分类:技术文章

本文共 581 字,大约阅读时间需要 1 分钟。

    今天做项目遇到一个问题,一个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);

转载地址:https://blog.csdn.net/h3c4lenovo/article/details/8632652 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:nsthread autoreleased with no pool in place – just leaking警告的解决方法
下一篇:UIButton上使用UIEdgeInsetsMaketitle跟图片对齐

发表评论

最新留言

不错!
[***.144.177.141]2024年04月08日 08时25分25秒