C语言知识点笔记01——数据类型级别与转换

数据类型级别从高到低为:

数据类型等级
long double
double
float
unsigned long long
long long
unsigned long
long
unsigned int
int

注1: short 和 char 类型在类型转换时会被自动转换为 int ,如有必要会被转换成 unsigned int (如果 short 和 int 的大小相同, unsigned short 就比 int 大。这种情况下, unsigned short 会被转换成 unsigned int)。
注2: 将一种类型转换成更高级别的类型称为“升级”;将一种类型转换成更低级别的类型称为“降级”。
**注3:**上表中例外情况为:当 long 和 int 的大小相同时, unsigned int 比 long 的级别高。
待赋值的值与与目标类型不匹配时,规则如下:

  1. 目标类型是无符号整型, 且待赋值的数是整数时, 额外的位将被忽略。
    例如:假设类型A为8位数,类型B为4位数,将A类型的数据转换为B类型的数据,则转换后的结果为0110.
    自动类型转换降级

  2. 如果目标类型是一个有符号整型, 且待赋值的值是整数,结果因实现而异。

  3. 如果目标类型是一个整型,且待赋的值是浮点数,该行为是未定义的。(浮点类型降级为整型时,原来的浮点值会被截断)
    强制类型转换

int m = (int)3.6 - (int)1.2; //m 的值为 3 - 1 = 2.
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值