美文网首页
基础数据类型-数字

基础数据类型-数字

作者: 雾霾下的天空 | 来源:发表于2018-12-28 14:42 被阅读3次

    因为做项目需要用到一个保存在本地的计数数字. 担心会因为数字溢出的问题导致错误. 所以下面测试无符号长整型的极限.

        int count = 0;
        NSUInteger integer = 1;
        NSInteger maxInteger = 0;
        while (integer) {
            integer*=2;
            count++;
            
            maxInteger = (integer * 2 - 1);
            
            if (maxInteger == 0) {
                while (integer) {
                    integer++;
                    NSLog(@"%lu", (unsigned long)integer);
                }
            }
            NSLog(@"%lu", (unsigned long)integer);
        }
        NSLog(@"%lu", (unsigned long)maxInteger);
        NSLog(@"%d", count);
    
    18446744073709551615
    64
    

    从输出的千兆结果来看. 担心是多余的🤣.

    敲下小黑板. 重点是溢出后变成了0.
    如果是有符号的数字. 溢出后就变成了负数.

    相关文章

      网友评论

          本文标题:基础数据类型-数字

          本文链接:https://www.haomeiwen.com/subject/ergwoftx.html