实践题目——数值型数据的存储原理

来源:互联网 发布:新田惠海 知乎 编辑:程序博客网 时间:2024/05/22 09:06

【程序阅读题】
1. 运行下面的程序,解释产生结果的过程(或原因)

#include <stdio.h>int main(){    short int a, b;    a= 32767;    printf("a=%d\n",a);    b = a + 10;    printf("b=%d\n",b);    return 0;}
  1. 运行下面的程序,解释产生结果的过程(或原因)
#include <stdio.h>  int main()  {      float a,b,c;      a=1234.56789;      b=9876.54321;      c=a+b;      printf("%12.5f\n",c);      return 0;  } 

提示:
1、
  对于整型数据,由于存储位数的限制,其范围并非像数学中的整数,可以无限大和无限小,而是局限在一定范围内。这样的运行结果,是产生了“溢出”。更详细的解释,参考整型数据的表示。

2、
  对于浮点型数据,除了表示数的范围外,还要注意其精度,即其有效位数有几位。在超出有效位数的部分,不能保证其准确。一般讲,float型的精度是7位左右有效数字,而double型是15位左右。
  格式控制符%12.5指显示数总宽度12,小数点后保留5位。