Q:NSString length负数比较问题
来源:互联网 发布:安卓编程软件手机软件 编辑:程序博客网 时间:2024/06/18 18:30
- (void) testStringLength { NSString * str = @"1111111111"; NSLog(@"%d", -str.length); if (-str.length > 801) { NSLog(@"wrong"); } else { NSLog(@"right"); }}
LOG
2013-02-20 18:54:17.900 test[21134:f803] -102013-02-20 18:54:25.235 test[21134:f803] wrong
这是肿么回事?
解析:
- (void) testStringLength { NSString * str = @"1111111111"; NSLog(@"%d", -str.length); long long temp = LONG_LONG_MAX; while (-str.length < temp) { temp /= 10; NSLog(@"%lld", temp); } temp *= 10; while (-str.length < temp) { temp /= 2; NSLog(@"%lld", temp); } temp *= 2; while (-str.length < temp) { temp -= temp / 3; NSLog(@"%lld", temp); } if (-str.length < temp) { NSLog(@"wrong"); } else { NSLog(@"right"); }}
LOG:
2013-02-21 11:50:01.190 test[2183:f803] -102013-02-21 11:50:01.195 test[2183:f803] 9223372036854775802013-02-21 11:50:01.195 test[2183:f803] 922337203685477582013-02-21 11:50:01.195 test[2183:f803] 92233720368547752013-02-21 11:50:01.196 test[2183:f803] 9223372036854772013-02-21 11:50:01.196 test[2183:f803] 922337203685472013-02-21 11:50:01.197 test[2183:f803] 92233720368542013-02-21 11:50:01.197 test[2183:f803] 9223372036852013-02-21 11:50:01.197 test[2183:f803] 922337203682013-02-21 11:50:01.198 test[2183:f803] 92233720362013-02-21 11:50:01.198 test[2183:f803] 9223372032013-02-21 11:50:01.198 test[2183:f803] 46116860152013-02-21 11:50:01.199 test[2183:f803] 23058430072013-02-21 11:50:01.199 test[2183:f803] 3074457343
分析:
-str.length 大小应该在最后2个数之间,比LONG_MAX:2147483647大一些
- (NSUInteger)length;
length返回是一个无符号的int,-str.length貌似强行转换成了NSUInteger- Q:NSString length负数比较问题
- 关于NSString length 字符串的比较
- NSString length的坑。
- ios判断NSString的length
- 【读书笔记】iOS-NSString的length
- grep -q 大小比较
- iOS: NSString的方法stringWithCharacters:length:
- iOS: NSString的方法initWithBytes:length:encoding:
- iOS: NSString的方法initWithCharacters:length:
- iOS: NSString的方法initWithCharactersNoCopy:length:freeWhenDone:
- NSString的length方法特别之处
- NSString比较详解
- NSString字符串比较
- 比较字符串NSString
- NSString的比较
- NSString字符串比较
- NSString字符串比较
- NSString 的比较用法
- 【JAVA IO】_对象序列化笔记
- Android 缓存Bitmaps
- 安装oracle 10g时遇到时间不同步的问题prkc-1002,如下图
- Vim 编辑多个文件
- Intel处理器手册系统编程指南第2章(3)
- Q:NSString length负数比较问题
- hadoop对于压缩文件的支持及算法优缺点
- pexpect.pxssh.ExceptionPxssh: Could not establish connection to host
- 面向对象(二)
- Android如何利用adb shell查看数据库的内容
- sort和qsort对字符数组排序
- linux下编译jrtplib、jthreadlib
- 如何在父进程中读取子(外部)进程的标准输出和标准错误输出结果
- 黑马程序员_java入门_帮助文档的制作和静态代码块