iOS 基本数据类型与函数
主要内容:
- NSLog 格式化输出
- NSInteger 与 int 类型的区别
- Nil 与 nil 的区别
- 3个特殊的浮点数值:inf、-inf、nan
NSLog 格式化输出
NSLog 函数支持的格式字符:
格式字符 | 说明 |
---|---|
d | 以带符号的十进制形式输出整数(正数不输出符号) |
o | 以八进制无符号形式输出整数(不输出0前缀) |
x | 以十六进制无符号形式输出整数(不输出0x前缀) |
u | 以无符号十进制形式输出整数 |
c | 以字符形式输出,只输出一个字符 |
s | 输出 C 风格的字符串 |
f | 以小数形式输出浮点数,默认输出6个有效数字 |
e | 以指数形式输出浮点数,数字部分默认输出6位小数 |
g | 以最简形式自动选择%f或%e其中之一,保证输出宽度较小的格式,并且不会输出无意义的0 |
p | 以十六进制形式输出指针变量所代表的地址值 |
@ | 输出 Objective-C 的对象 |
在%与格式字符之间,还可以插入下表所示的附加符号:
附加符号 | 说明 |
---|---|
l(字母) | 可在格式字符d、o、x、u之前,用于输出长整型整数;也可以在f、e、g之前,用于输出长浮点型数 |
m(代表一个正整数) | 指定输出数据所占的最小宽度 |
.n | 对于浮点数,表示输出n位小数;对于字符串,表示截取的字符个数 |
- | 表示输出的数值向左边对齐 |
NSInteger 与 int 类型的区别
直接看官方文档,其实就是个 typedef :
typedef long NSInteger;
When building 32-bit applications, NSInteger is a 32-bit integer. A 64-bit application treats NSInteger as a 64-bit integer.
Nil 与 nil 的区别
官方文档:
nil
Defines the id of a null instance.
Nil
Defines the id of a null class.
关于 Nil、nil、NULL、NSNull 可以稍微看下这篇博客:
3个特殊的浮点数值:inf、-inf、nan
double 型正无穷大 inf
正整数(或正浮点数)除以0.0(或0)
double 型负无穷大 -inf
负整数(或负浮点数)除以0.0(或0)
double 型非数 nan
0(或0.0)除以0.0(或0),或者对一个负数开方
PS:整型值除以0将会得到0.000000(也是 double 型)