安卓兼容性

我的C生活16(类型转换)

2017-03-26  本文已影响12人  程序员Darker

⒈int  number=10.8;

    number占4个字节,double占8个字节。

    输出number为10,弃了0.8,丢失精度。

⒉只要为将一个大类型数据转化为小类型数    据,就有可能丢失精度。

⒊在运算的过程中,其实还做了一次自动类      型提升。

⒋如果在计算过程中,参与运算的操作数不      是同一类型,那么系统会将小类型转换为      大类型,然后再进行运算。

算术运算注意点:参与运算的操作数是什么    类型,那么计算出来的结果就是什么类          型。

例:①int  result=1/2;                                        printf("result=%i\n",result);                  输出:0                                                      ②double  result=1/2;                                  printf("result=%f\n",result);                  输出:0.000000

    总结:参与什么型,输出什么型。

例:①double  result=1.0/2;//隐式转换            printf("result=%f\n",result);                输出:0.500000                                        ②double  result=(double)1/2;                                            //显式转换                      printf("result=%f\n",result);                  输出:0.500000

⒍算术运算符规定:只有相同类型的数据才可    以进行运算。

⒎①强制类型转换(显式转换)                                    格式:(类型关键字)(表达式)                     

:(int)8.8/4;                                                  输出:2          //8.8先转换为8,然后再除以4,所以输出为2。

  ②自动类型转换(隐式转换)                                  格式:⑴不同类型数据混合运算时,升成                      数据类型较大的类型。                                  (2)赋值时,右侧表达式的值转化成                    左侧变量的类型。                                          (3)所有浮点运算都是以double类型                进行运算,即使表达式中都是float。     

上一篇 下一篇

猜你喜欢

热点阅读