iOS nslog 使用 十六进制输出
1. 数据类型简介及输出
(1) 数据类型简介
数据类型简介 : Object - C 数据类型 分为 基本数据类型, 构造类型 和 指针类型;
-- 基本数据类型 : 整型, 字符型, 浮点型 (float 和 double), 枚举型;
-- 构造类型 : 数组类型, 结构体类型, 共用体类型;
-- 指针类型 : 最终要的数据类型, 所有的系统类, 自定义类都是指针;
-- 空类型 : 空类型只有一个值 nil, 该类型没有名称, 因此没有空类型的变量, 变量不能转换成空类型, 但是空类型可以转换成任何引用类型;
(2) 数据类型输出
NSLog()简介 : NSLog 是 Foundation 框架中功能强大的函数, 可以输出任何类型的数据;
-- 占位符 : NSLog() 函数中各式与 C 语言中大致相似, 第一个参数是加了 @ 的字符串, 后面的参数是用于替换占位符的;
整型占位符说明 :
-- %d : 十进制整数, 正数无符号, 负数有 "-" 符号;
-- %o : 八进制无符号整数, 没有 0 前缀;
-- %x : 十六进制无符号整数, 没有 0x 前缀;
-- %u : 十进制无符号整数;
字符占位符说明 :
-- %c : 单个字符输出;
-- %s : 输出字符串;
浮点占位符说明 :
-- %f : 以小数形式输出浮点数, 默认 6 位小数;
-- %e : 以指数形式输出浮点数, 默认 6 位小数;
-- %g : 自动选择 %e 或者 %f 各式;
其它形式占位符 :
-- %p : 输出十六进制形式的指针地址;
-- %@ : 输出 Object-C 对象;
占位符附加字符 :
-- l : 在整型 和 浮点型占位符之前, %d %o %x %u %f %e %g 代表长整型 和 长字符串;
-- n(任意整数) : %8d 代表输出8位数字, 输出总位数;
-- .n : 浮点数 限制小数位数, %5.2f 表示 5位数字 2位小数, 字符串 截取字符个数;
-- - : 字符左对齐;
示例代码 :
- #import <Foundation/Foundation.h>
- int main(int argc, charchar **argv)
- {
- @autoreleasepool{
- int a = 38;
- long b = 38;
- double c = 3.8;
- double d = 2.3;
- charchar * oct_c = "Octopus";
- NSString *oct_oc = @"Octopus"; /* 定义字符串, 在字符串前加上 @ 说明是Ovject-C变量, 值赋给一个 NSString 指针 */
- NSDate *date = [[NSDate alloc]init];
- NSLog(@"%d 十进制整型", a);
- NSLog(@"%5d 五位十进制整型", a);
- NSLog(@"%-5d 左对齐的五位十进制整型", a);
- NSLog(@"%o 八进制整型", a);
- NSLog(@"%x 十六进制整型\n", a);
- NSLog(@"%ld 长整型", b);
- NSLog(@"%lx 十六进制长整型\n", b);
- NSLog(@"%f 小数形式输出浮点数", c);
- NSLog(@"%e 指数形式输出浮点数", c);
- NSLog(@"%g 以最简短形式输出浮点数", c);
- NSLog(@"%5f 以五位小数形式输出浮点数", c);
- NSLog(@"%5.3f 小数行书输出, 一共五位, 小数3位\n", c);
- NSLog(@"%lf 小数形式输出长浮点数", d);
- NSLog(@"%le 指数形式输出长浮点数", d);
- NSLog(@"%lg 以最短形式输出长浮点数", d);
- NSLog(@"%5lf 5位小数形式输出长浮点数", d);
- NSLog(@"%5.3lf 5位小数形式输出长浮点数, 其中3位是小数\n", d);
- NSLog(@"%s 输出C字符串", oct_c);
- NSLog(@"%@ 输出Object-C字符串\n", oct_oc);
- NSLog(@"%@ 输出日期", date);
- }
- }
执行结果 :
- octopus-2:ios octopus$ clang -fobjc-arc -framework Foundation 02-NSLogDemo.m
- octopus-2:ios octopus$
- octopus-2:ios octopus$ ./a.out
- 2014-08-16 19:32:44.210 a.out[1300:507] 38 十进制整型
- 2014-08-16 19:32:44.212 a.out[1300:507] 38 五位十进制整型
- 2014-08-16 19:32:44.213 a.out[1300:507] 38 左对齐的五位十进制整型
- 2014-08-16 19:32:44.214 a.out[1300:507] 46 八进制整型
- 2014-08-16 19:32:44.214 a.out[1300:507] 26 十六进制整型
- 2014-08-16 19:32:44.215 a.out[1300:507] 38 长整型
- 2014-08-16 19:32:44.215 a.out[1300:507] 26 十六进制长整型
- 2014-08-16 19:32:44.216 a.out[1300:507] 3.800000 小数形式输出浮点数
- 2014-08-16 19:32:44.216 a.out[1300:507] 3.800000e+00 指数形式输出浮点数
- 2014-08-16 19:32:44.217 a.out[1300:507] 3.8 以最简短形式输出浮点数
- 2014-08-16 19:32:44.217 a.out[1300:507] 3.800000 以五位小数形式输出浮点数
- 2014-08-16 19:32:44.218 a.out[1300:507] 3.800 小数行书输出, 一共五位, 小数3位
- 2014-08-16 19:32:44.218 a.out[1300:507] 2.300000 小数形式输出长浮点数
- 2014-08-16 19:32:44.219 a.out[1300:507] 2.300000e+00 指数形式输出长浮点数
- 2014-08-16 19:32:44.219 a.out[1300:507] 2.3 以最短形式输出长浮点数
- 2014-08-16 19:32:44.219 a.out[1300:507] 2.300000 5位小数形式输出长浮点数
- 2014-08-16 19:32:44.220 a.out[1300:507] 2.300 5位小数形式输出长浮点数, 其中3位是小数
- 2014-08-16 19:32:44.220 a.out[1300:507] Octopus 输出C字符串
- 2014-08-16 19:32:44.220 a.out[1300:507] Octopus 输出Object-C字符串
- 2014-08-16 19:32:44.226 a.out[1300:507] 2014-08-16 11:32:44 +0000 输出日期
2. 整型
(1) 整型类型介绍
四种整型 :
-- short int : 短整型, 占16位, mac 上占 2 字节, ios 上占 2 字节, 范围 -32768(-2^15) ~ 32767(2^15 - 1), 3万;
-- int : 整型, 占32位, mac 上占 4 字节, ios 上占 4 字节, 范围 -2147483648(-2^31) ~ 2147483647(2^31 - 1), 21亿;
-- long int : 长整型, 占64位, mac 上占 8 字节, ios 上占 4 字节, (-2^63) ~ (2^63 - 1), 922亿亿;
-- long long : 占64位, mac 上占 8 字节, ios 上占 8 字节;
整数赋值 : 整型赋值时注意范围, 如果超出赋值范围, 会出现警告, 数据也会丢失;
-- 示例程序 :
- /*************************************************************************
- > File Name: a.m
- > Author: octopus
- > Mail: octopus_truth.163.com
- > Created Time: 日 8/17 00:44:19 2014
- ************************************************************************/