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

来源:互联网 发布:软件用户说明书 编辑:程序博客网 时间:2024/06/05 19:54

整数与整数之间

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

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

  • 赋值给 (短 = 长)

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

  • 赋值给 (长 = 短)

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

整数与浮点之间

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

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

float 与 double 之间

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

注:

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

原创粉丝点击