Chinaunix首页 | 论坛 | 博客
  • 博客访问: 800979
  • 博文数量: 104
  • 博客积分: 915
  • 博客等级: 下士
  • 技术积分: 2171
  • 用 户 组: 普通用户
  • 注册时间: 2012-05-24 21:34
文章分类

全部博文(104)

文章存档

2018年(4)

2015年(14)

2014年(9)

2013年(56)

2012年(21)

分类: C/C++

2013-04-17 15:36:37


#include


void main()
{
    int i = 5;
    float a = 242.15,b;
    double c = 123456789.456123;
    char d = 'B';
    unsigned char e;

    printf("i = %d,a = %f,c = %f,d = %c,d = %d\n",i,a,c,d,d);

    b = i;    // int ---> float
    i = a;    // float ---> int
    a = c;   // double ---> float
    d = i;    // int ---> char
    e = d;   // char ---> unsigned char
    printf("i = %d,a = %f,b = %f,d = %c,d = %d,e = %c,e = %d\n",i,a,b,d,d,e,e);
}
运行结果:
    i = 5,a = 242.149994,c = 123456789.456123,d = B,d = 66
    i = 242,a = 123456792.000000,b = 5.000000,d = ?,d = -14,e = ?,e = 242

1)将 float 型变量数据赋给 int 型变量时,先将 float 型数据舍去小数部分,然后再赋给 int 型变量;
2)将 int 型变量数据赋给 float 型变量时,现将 int 型数据转换为 float 型数据,并以浮点数形式存储到变量中,其值不变;
3)double 型变量赋给 float 变量时,先截取 double 型实数得前7位有效数字,然后赋给 float 型变量。
        对于此时 float 变量输出的第8位以后的数字就是不可信数据了;
4)int 型数据赋给 char 型变量时,由 int 型数据用2个字节表示,而 char 型数据用 1 个字节表示,所以先截取 int 型数据的低8位,然后赋值给 char 型变量。
        因此,char 型变量只能精确接受小于 256 的 int 变量;
5)有符号字符型数据的范围是 -128~127,而无符号型数据的范围是0~255


阅读(1084) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~