C语言中不同类型数据之间的赋值

整数与整数之间

  • 、长度相等(在内存中存储的位数相等)的两个不同的类型的数据之间的赋值

在计算机中的存储内容不变,只是数据按照不同的编码格式来解析。

  • 赋值给 (短 = 长)

截取低位,然后按照短整数的数据类型解析。

  • 赋值给 (长 = 短)

其中,短转长又分为三种情况:
1. 两个数据都是无符号的数据,短整数直接高位补0。
2. 两个数据都是有符号的数据,短整数进行符号位扩展。
3. 两个数一个是有符号数,一个数是无符号数,那么先将短整数进行位数扩展,过程中保持数值不变,然后按照长整数的数据类型解析数据

整数与浮点之间

  • 浮点数转整数
    截取整数部分,赋值给a
    int a = 3.54
    a 的值为 3

  • 整数转浮点数
    小数部分为0,整数部分的值与其整数的值相等。
    float b = 3;
    b 的值是 3.0

float 与 double 之间

double 转 float 将会丢失精度。
float 转 double 值不变。

注:

整数在计算机中都是以补码的形式存储的。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值