zoukankan      html  css  js  c++  java
  • C语言(四)隐式类型转换规则

    隐式类型转换的规则

                  确定二元运算中的哪个操作数要转换为另一个操作数的类型是,其机制相当简单。其基本规则是,将值域较小的操作数类型转换为另一个操作数类型,但在一些情况下,两个操作数都要转换类型。

           编译器按顺序采用如下规则,确定要使用的隐式类型转换;

        (1)如果一个操作数的类型是long double。就把另一个操作转换为long double类型。

        (2)否则,如果一个操作数的类型是double,就把另一个操作转换为double类型。

        (3)否则,如果一个操作数的类型是float,就把另一个操作转换为float类型。

        (4)否则,如果两个操作数的类型都是带符号的整数或无符号的整数的整数,就把级别较低的操作数转换为另一个操作数的类型。无符号整数类型的级别从低到高为:siqned  char,short,int,long,long long

        每个无符号整数类型的级别都与对应的符号整数类型相同,所以unsigned int类型的级别与int类型相同。

        (5)否则,如果带符号整数类型的操作数级别低于无符号整数类型的级别,就把带符号整数类型的操作数转换无符号整肃类型。

        (6)否则,如果带符号整数类型的值域包含了无符号整数类型所表示的值,就把无符号整数类型转换为带符号的整数类型。

        (7)否则,两个操作数都转换为带符号整数类型对应的无符号整数类型。

  • 相关阅读:
    POJ 3348 Cows (凸包面积)
    P4126 [AHOI2009]最小割
    P1903 [国家集训队]数颜色
    P3749 [六省联考2017]寿司餐厅
    CF666E Forensic Examination
    P2336 [SCOI2012]喵星球上的点名
    P1117 [NOI2016]优秀的拆分
    P3747 [六省联考2017]相逢是问候
    CF1062F Upgrading Cities
    P3243 [HNOI2015]菜肴制作
  • 原文地址:https://www.cnblogs.com/Maxwell599/p/3145159.html
Copyright © 2011-2022 走看看