【计算机组成原理】C语言中数据类型表示及转换总结
数据类型长度与解析规则
C语言中常见的数据类型以及长度如下表所示:
数据类型 | 通常占用字节(Byte) | 位数(Bit) | 说明 |
---|---|---|---|
char | 1 | 8 | 最小基本单位,通常表示一个字符 |
short | 2 | 16 | 短整型 |
int | 4 | 32 | 整型,最常用 |
long | 4 或 8 | 32 或 64 | 取决于平台(32位系统多为4字节,64位系统多为8字节) |
上标中所有数据类型都属于有符号数,如果在关键字前加unsigned字段,如unsigned int,则表示无符号数。
PS:这里需要记忆一下
数据类型转换规则
无符号数与有符号数互转
无符号数与有符号数互相转化的规则是,无符号数将最高位视为数值,有符号数将最高位视为符号。
长短数据类型互转
长转短
长字段数据转短字段数据的规则是去除高位留低位。
短转长
若原数据为无符号数,则进行零拓展,即将多出来的高位全补零;
若原数据为有符号数,则进行符号拓展,即将多出来的高位全补符号。
PS:若同时出现符号转换以及长度转换,则先进行长度转换后,再进行符号转换。