我试图将INFINITY宏用作整数但由于某种原因它返回0.
for (int i = 0 ; i<100; i++) {
NSLog(@"%@",[NSNumber numberWithInt:INFINITY]); //return -/+ max int
}
for (int i = 0 ; i<100; i++) {
NSLog(@"%@",[NSNumber numberWithFloat:INFINITY]); //return "inf"
}
INFINITY的正确使用方法是什么?我认为它会返回一个最大整数或浮点值,而-INFINITY会返回一个负的最小整数或浮点值但绝对不是0.为什么它会返回0?
答案 0 :(得分:1)
如评论中所述:
INFINITY是一个特殊值,可以用浮点或双浮点格式表示。
它不能转换为整数,因为整数不能表示无穷大。
numberWithInt
已被编写,因此它返回零,因为它在int中的无穷大中无法理解。