优秀的编程知识分享平台

网站首页 > 技术文章 正文

C 语言整型的转换等级(c语言中的整数类型及类型转换)

nanyue 2024-07-23 13:47:46 技术文章 14 ℃

在 C 语言中,整数类型包括下表中的标准类型以及枚举类型。

char

符号取决于实现

signed char

short int

int

long int

long long int

标准有符号整型

_Bool

标准无符号整型

unsigned char

unsigned short int

unsigned int

unsigned long int

unsigned long long int

C 语言的类型

每个整数类型都有如下定义的整数转换等级:

    • 任何两个有符号整数类型的等级均不同,即使它们有着相同的表示
    • 有符号整数类型的等级高于低精度的任何有符号整数类型的等级
    • long long int 的等级高于 long int 高于 int 高于 short int 高于 signed char
    • 任何无符号整数类型的等级与对应的有符号整数类型(如果有的话)的等级相同
    • 任何标准整数类型的等级高于相同宽度的任何扩展整数类型的等级
    • char 的等级与 signed char 和 unsigned char 相同
    • _Bool 的等级低于所有其它标准整数类型的等级
    • 任何枚举类型的等级与对应兼容整数类型的等级相同
    • 任何扩展有符号整数类型的等级相对于其它相同精度扩展有符号整数类型的等级是由实现决定的,但仍然遵守确定整数转换等级的其它规则
    • 对于所有整数类型 T1、T2 和 T3,如果 T1 的等级高于 T2,并且 T2 的等级高于 T3,那么 T1 的等级高于 T3

#头条创作挑战赛##C语言每日小知识#

Tags:

最近发表
标签列表