类型转换通常是指变量,从一种类型转换成另外一种类型。例如将一个long类型转换成int类型,变量转换通常
用下面的方式:
(type_name) expression
在Objective-C中,我们通常使用CGFloat来做浮点运算,32位是float类型,64位是double类型,通常转换方式
如下操作:
#import <Foundation/Foundation.h> int main() { int sum = 17, count = 5; CGFloat mean; mean = (CGFloat) sum / count; NSLog(@"Value of mean : %f\n", mean ); return 0; }
上面代码编译执行后的结果:
2013-09-11 01:35:40.047 demo[20634] Value of mean : 3.400000
这里说明一下,变量的类型转换优先级高于除法,即sum优先转换为double类型(64位情况下),最后通过生成的double值进行除法计算。
类型的转换可以是隐式的,由编译器自动执行。
下面是int类型转换成方式如下代码:
#import <Foundation/Foundation.h> int main() { int i = 17; char c = 'c'; /* ascii value is 99 */ int sum; sum = i + c; NSLog(@"Value of sum : %d\n", sum ); return 0; }
上面代码编译执行后的结果:
2013-09-11 01:38:28.492 demo[980] Value of sum : 116
sum是116,因为编译器在执行实际的加法操作之前,先将'c'转换成了ascii值。
通常的数据转换流程一般从低向高转换,如果从高向低转换会造成数据的丢失。如下图所示:
如对本文有疑问, 点击进行留言回复!!
纵横字谜的答案 Crossword Answers, ACM/ICPC World Finals 1994, UVa232
HDU - 5880 Family View (AC自动机修改母串)
iOS14Beta3续航怎么样 iOS14Beta3续航能力介绍
iOS14Beta3稳定性怎么样 iOS14Beta3升级建议介绍
uniapp编写H5界面放入IOS全面屏原生导航栏盖住H5界面
网友评论