2、OC类型转换

OC中有两种类型转换的方式:自动类型转换和强制类型转换
一、自动类型转换
将一个基本数据类型的值直接赋给另一个基本数据类型的变量自动转换有如下规则:
1.可以直接将整数类型转换成浮点型变量,不会有太大的变化
2.浮点类型赋值给整型,数值的小数会直接舍弃
3.把取值范围大的变量赋值给范围小的变量时,可能发生溢出
        //整型可以直接为浮点型赋值
        int a =10;
        float f = a;
        //输出: 10.000000
        NSLog(@"%f",f);
       
        //浮点型为整型赋值,舍弃小数后的
        double d = 34.7823;
        int i1 = d;
        //输出:34
        NSLog(@"%d",i1);
       
        //取值范围大的给小的会丢失精度
        int i2 = 35000;
        short s = i2;
        //输出:-30536
        NSLog(@"%d",s);


二、强制类型转换
强制类型转换的运算符是()
        int a = 10;
        int b = 3;
        //a和b都是int型,结果也是int型
        float f1 = a/b;
        float f2 = (float)a/b;
        //结果:f1=3.000000,f2=3.333333
        NSLog(@"f1=%f,f2=%f",f1,f2);

三、表达式类型自动提升
当一个算术表达式中含有多种基本类型时,整个算术表达式的的数据类型将发生自动提升。
整个算术表达式的数据类型自动提升到与表达式中最高等级操作数同样的等级。
提升等级排列:
short -> int -> long -> long long -> float -> double ->long double


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值