码迷,mamicode.com
首页 > 其他好文 > 详细

Objective-C 类型转换

时间:2018-02-06 16:40:55      阅读:145      评论:0      收藏:0      [点我收藏+]

标签:自动   har   ascii   技术分享   alt   种类型   object   编译   image   

类型转换通常是指变量,从一种类型转换成另外一种类型。例如将一个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值。

 

通常的数据转换流程一般从低向高转换,如果从高向低转换会造成数据的丢失。如下图所示:

技术分享图片

Objective-C 类型转换

标签:自动   har   ascii   技术分享   alt   种类型   object   编译   image   

原文地址:https://www.cnblogs.com/xujinzhong/p/8422592.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!